Javascript 按ENTER键后响应键盘事件更改输入值

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>

我有一个输入,需要使用onPressEnter调用的方法重置该值。这是输入:

<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的答案应该行得通。