Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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
Javascript 转换';输入';将事件键入空字符串或react中的null_Javascript_Reactjs_Keyboard_Event Handling_Keycode - Fatal编程技术网

Javascript 转换';输入';将事件键入空字符串或react中的null

Javascript 转换';输入';将事件键入空字符串或react中的null,javascript,reactjs,keyboard,event-handling,keycode,Javascript,Reactjs,Keyboard,Event Handling,Keycode,如何在react中将“Enter”键事件转换为空格或空字符串(“”) this.state = { ip: '' }; inputChange = (e) => { this.setState({ ip: e.target.value }); }; render() { return( <> <textarea onChange={this.inputChange}

如何在react中将“Enter”键事件转换为空格或空字符串(“”)

this.state = {
   ip: ''
};

inputChange = (e) => {  
      this.setState({ ip: e.target.value });   
};

render() {
   return(
      <>
       <textarea              
        onChange={this.inputChange}
        value={this.state.ip}
        placeholder='Enter here'
        ></textarea>
        <button>Enter</button>
      </>
   )
}
this.state={
ip:'
};
inputChange=(e)=>{
this.setState({ip:e.target.value});
};
render(){
返回(
进入
)
}
在文本区域中输入值并单击提交按钮后,我的输出如下所示:

你好↵我是人

所需输出:

嗨,我是人类

编辑:如果我们单击enter,它将转到文本区域的下一行。

您可以使用Regex和作为问题的第一部分

编辑:问题的第二部分不像我想的那么简单,我们的逻辑完全不起作用,因此正如您所见,我们应该在
键控
上使用
addEventListener
,然后利用事件中的信息,我们可以将字符添加到输入中

奖金:在点击
输入
按钮后,我确实使用ref在文本区域内聚焦,以获得更好的用户体验

类应用程序扩展了React.Component{
状态={
ip:'
};
inputRef=React.createRef()
componentDidMount(){
文件。添加的文件列表(“keyup”,此为键盘Up);
}
组件将卸载(){
document.removeEventListener(“keyup”,即本.keyboardUp);
}
键盘向上=(e)=>{
如果(e.key=='输入'| | e.keyCode===13){
e、 预防默认值()
console.log(e.key)
this.setState(prev=>({ip:prev.ip+'''}));
}否则{
this.setState(prev=>({ip:prev.ip+e.key}));
}
}
enterHandler=()=>{
this.setState(prev=>({ip:prev.ip+'\n'}));
this.inputRef.current.focus();
}
render(){
返回(
进入
)
}
}
render(,document.getElementById(“react”)


还需要一个更改:如果我们单击enter,它应该转到文本区域的下一行,可能吗?是的,也很简单,我马上更新示例。