正在尝试在react中实现密钥绑定。js。做了一些研究,但仍然想知道最干净的方法是什么。例如
if (event.keyCode == 13 /*enter*/) {
function()
}
if (event.keyCode == 27 /*esc*/) {
anotherfunction()
}
这是我的搜索组件,请看一下onSearch函数。我使用无键盘绑定来完成escape键清除输入和散焦。
import React from "react"
import _debounce from "lodash.debounce"
import "./stylesheets/search"
export default class Search extends React.Component {
displayName = "Search"
static propTypes = {
bucketName: React.PropTypes.string,
placeholder: React.PropTypes.string,
onSearchUpdated: React.PropTypes.func,
}
state = {
search: "",
placeholder: "Search",
bucketName: "",
}
componentWillMount() {
this.delayedCallback = _debounce((event) => {
let search = event.target.value
this.setState({
search,
})
this.props.onSearchUpdated(search, this.props.bucketName)
})
}
onSearch = (event) => {
if (event.keyCode === 27) {
event.target.value = ''
this.refs.input.blur()
} else {
this.refs.input.focus()
}
event.persist()
this.delayedCallback(event)
}
render() {
return (
<div className="search">
<div className="row">
<div className="col-xs-12 search__container form-group">
<input
ref="input"
className="form-control search__field"
placeholder={this.props.placeholder}
name="search__field"
id="search__field"
type="text"
onKeyDown={this.onSearch}
/>
</div>
</div>
</div>
)
}
}
步骤1:在构造函数中定义它
constructor(props) {
super(props);
this.state = {
}
this.handleEnterKeyPress = this.handleEnterKeyPress.bind(this)
}
步骤2:在render方法中编写
render() {
return (
<input className ="pageText" type="text" value= "value" onKeyPress = {this.handleEnterKeyPress} />
)
}
步骤3:在类中写入各自的函数
handleEnterKeyPress(e) {
if (e.charCode == 13) {
// your code
}
}
当组件安装和卸载时,我最终绑定了keydown事件:
...
componentDidMount: function() {
$(document.body).on('keydown', this.handleKeyDown);
},
componentWillUnMount: function() {
$(document.body).off('keydown', this.handleKeyDown);
},
handleKeyDown: function(event) {
if (event.keyCode == 13 /*enter*/) {
this.okAction();
}
if (event.keyCode == 27 /*esc*/) {
this.cancelAction();
}
},
render: function() {
return this.state.showDialog ? (
<div className="dialog" onKeyDown={this.handleKeyDown}>
...
也许有更好的方法可以做到这一点。该函数用作对话框组件的一部分:https://github.com/changey/react-dialog
我用过这个命令 生成密钥库。它工作正常,但从我读到的内容来看,这个命令还应该提示您输入密钥密码(而不是存储密码)?我从来没有收到过这样的提示。我能跑 查看密钥库的内容。钥匙似乎就在那里。。。正确的别名在那里。在哪里获取/设置特定别名的密码? 我有一个key.properties在Android目录 在build.gradle我有: 当我试图生成一个发布版本时,我得到了 我想它可能与keyPassw
所以,我正在制作一个应用程序,当你点击一个按钮(jButton1)时,它会打印“Hi”(例如) 现在,我还有一个文本框。在文本框中,您需要指定一个键。 当你按下你指定的键时,它会运行jButton1。doClick() 更新:这是一个自动点击器。所以,我有一个布尔启动如果我键入k(从应用程序中),我希望它将布尔启动设置为true。如果我再次键入k,并且布尔启动为真,则将其设置为假。 太谢谢你了!
问题内容: 我想在单击该div或same的任何子元素时传递父ID 。但是我无法实现。请告诉我我在哪里出错。代码如下: 问题答案: 要将参数传递给事件处理程序,我们需要使用 currying 。使用上述方法时,在调用render时一直没有创建新函数。
我想通过单击该div或同一的任何子元素传递父id。但我无法实现。请告诉我我哪里犯错了。代码如下:
我一直在寻找将键绑定附加到JButton的答案,但仍然没有成功。我有以下由两个类组成的简单程序。我尝试了几种方法使用getInputMap()和getActionMap(),但都没有成功。我希望它执行以下操作:当我按键盘上的键“1”时,它会按JButton btn1,当我按键“2”时,它会按JButton btn2(因此JLabel上会出现1或2)。 //类1:// 更新:(我还没有15岁的名声,
我有一个在NeoVim中没有按预期发射的关键命令。下面是我neovim配置的摘录: 来自:nmap的适用条目显示绑定尚未被覆盖。 但按
问题内容: 我正在编写NIO服务器,并希望根据用户请求进行响应,即将一些数据写入通道。 读取一些数据后,我想响应。这意味着我需要添加到键,然后将键添加到“ 选定键”集中 ,然后一旦键出现在选定集中,就将一些内容写入通道。 如何将密钥显式添加到所选集中? 问题答案: 你不能 从Javadoc: 键可能无法直接添加到所选键集中。 您只能从中删除密钥。 但是您不需要任何这些。如果要写,只需写,且 仅当
问题内容: 我用别名为:的密钥对我的JWS应用程序MemorizEasy进行了签名。 我不记得为什么选择了这么长的别名。我怀疑这只是备忘录,但是在我的项目设置中,我有: 我现在正在更新应用程序,并使用maven将别名指定为: 但这行不通。尝试使用别名的另一个键是可行的。 那我可以更改密钥的别名吗?如果是这样,怎么办?否则,为什么Maven不接受我的别名? 问题答案: 可以使用以下命令在密钥库中复制