Javascript 按ENTER键后响应键盘事件更改输入值
我有一个输入,需要使用onPressEnter调用的方法重置该值。这是输入:Javascript 按ENTER键后响应键盘事件更改输入值,javascript,reactjs,typescript,antd,Javascript,Reactjs,Typescript,Antd,我有一个输入,需要使用onPressEnter调用的方法重置该值。这是输入: <Input type="text" placeholder="new account" onPressEnter={(event) => this.onCreateAccount(event)}> </Input> 这就是所谓的方法: onCreatePitch(event: React.KeyboardEvent<HTMLInputElement>
<Input
type="text"
placeholder="new account"
onPressEnter={(event) => this.onCreateAccount(event)}>
</Input>
这就是所谓的方法:
onCreatePitch(event: React.KeyboardEvent<HTMLInputElement>, accountId: number) {
this.props.onCreatePitch(event.currentTarget.value, accountId);
/* event.currentTarget.value = ''; can't do this, it's a read only value*/
}
如您所见,event.currentTarget.value将不起作用,因为它是只读值&event.target.value不是有效的类型。不知道该怎么办谢谢 您可以有一个控制输入值的状态
state = {
value: ""
}
onEnterPress(event) {
if (event is Enter) {
this.setState({value: ""})
return
}
}
<Input
type="text"
placeholder="new account"
value={this.state.value}
onPressEnter={this.onEnterPressed} />
听起来你需要把它变成一个。React uses状态,你输入的value属性应该使用这个,。。所以当你想重置时,你会做一些像setState{input:}等的事情。你很少需要直接访问DOM,…你是在使用antd表单来维护状态吗?@Max不,我想我不必走那条路,但我猜我必须走。如果你不是,那么Shawn的答案应该行得通。