Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在按下onKeyDown键的同时删除输入中的内容_Reactjs_React Native_React Redux - Fatal编程技术网

Reactjs 在按下onKeyDown键的同时删除输入中的内容

Reactjs 在按下onKeyDown键的同时删除输入中的内容,reactjs,react-native,react-redux,Reactjs,React Native,React Redux,当我尝试在按下某个特定键后立即删除输入中的内容时,在这种情况下,该键是带有onKeyDown的字母“t”,输入将被清除,但按下的键将保留在输入中 例如: 当我在输入中键入“sort”时,结果将是“t”。“t”将保留在输入值内,但我希望输入值被清除,尽管我在按下字母“t”时将“term”的状态设置为“” state={term::}; keyListener=(e)=>{ 如果(e.key==“t”){ this.setState({term:}); } }; onInputChange=(事件)

当我尝试在按下某个特定键后立即删除输入中的内容时,在这种情况下,该键是带有onKeyDown的字母“t”,输入将被清除,但按下的键将保留在输入中 例如: 当我在输入中键入“sort”时,结果将是“t”。“t”将保留在输入值内,但我希望输入值被清除,尽管我在按下字母“t”时将“term”的状态设置为“”

state={term::};
keyListener=(e)=>{
如果(e.key==“t”){
this.setState({term:});
}
};
onInputChange=(事件)=>{
this.setState({term:event.target.value});
};
render(){
返回(
搜索视频
);
}

发生这种情况是因为下一步将调用onInputChange,只需调用e.preventDefault即可防止:

keyListener = (e) => {
    if (e.key === "t") {
      this.setState({ term: "" });
      e.preventDefault();
    }
  };

发生这种情况是因为下一步将调用onInputChange,只需调用e.preventDefault即可防止:

keyListener = (e) => {
    if (e.key === "t") {
      this.setState({ term: "" });
      e.preventDefault();
    }
  };

您可以使用附加了ref的非受控输入,删除
onChange
处理程序并保持
onKeyDown
。您可以使用ref获得该值

  state = { term: ""};
  this.input = React.createRef();

  keyListener = (e) => {
    if (e.key === "t") {
      this.setState({ term: "" });
    }
  };

  render() {
    return (
      <div className="search-bar ui segment">
        <form className="ui form">
          <div className="field">
            <label>Search Video</label>
            <input
              type="text"
              ref={this.input}
              onKeyDown={this.keyListener}
            />
          </div>
        </form>
      </div>
    );
  }
state={term::};
this.input=React.createRef();
keyListener=(e)=>{
如果(e.key==“t”){
this.setState({term:});
}
};
render(){
返回(
搜索视频
);
}

您可以使用附加了ref的非受控输入,删除
onChange
处理程序并保持
onKeyDown
。您可以使用ref获得该值

  state = { term: ""};
  this.input = React.createRef();

  keyListener = (e) => {
    if (e.key === "t") {
      this.setState({ term: "" });
    }
  };

  render() {
    return (
      <div className="search-bar ui segment">
        <form className="ui form">
          <div className="field">
            <label>Search Video</label>
            <input
              type="text"
              ref={this.input}
              onKeyDown={this.keyListener}
            />
          </div>
        </form>
      </div>
    );
  }
state={term::};
this.input=React.createRef();
keyListener=(e)=>{
如果(e.key==“t”){
this.setState({term:});
}
};
render(){
返回(
搜索视频
);
}