ReactJS-是否可以通过按内部的Enter键来触发方法?

仅使用onChange和值,并集中在<input/>(最好没有jQuery的)内部时,是否可以通过按Enter键来触发方法?因为,只希望用户按下“ Enter”键才能更新name字符串状态。

这是代码:

  constructor(props) {

super(props);

this.state = {

name: '',

}

}

textChange(event) {

this.setState({

name: event.target.value,

})

}

//Would like to trigger this once 'Enter' key is pressed while focused inside `<input/>`

enterPressed() {

var name = this.state.name;

}

render() {

return (

<input

placeholder='Enter name'

onChange={this.textChange.bind(this)}

value={this.state.name}

/>

)

}

回答:

您可以做的是使用React的关键事件,如下所示:

<input

placeholder='Enter name'

onChange={this.textChange.bind(this)}

value={this.state.name}

onKeyPress={this.enterPressed.bind(this)}

/>

现在,要检测回车键,请将enterPressed功能更改为:

enterPressed(event) {

var code = event.keyCode || event.which;

if(code === 13) { //13 is the enter keycode

//Do stuff in here

}

}

因此,这是向输入元素添加事件侦听器。请参阅React的键盘事件。enterPressed然后,该函数在发生事件时被触发,现在enterPressed检测到键码,如果是13,则执行一些操作。

这是展示事件的小提琴。

注:该onKeyPress和onKeyDown事件的即时触发用户按下。您可以onKeyUp用来解决这个问题。

以上是 ReactJS-是否可以通过按内部的Enter键来触发方法? 的全部内容, 来源链接: utcz.com/qa/419506.html

回到顶部