Javascript 转换';输入';将事件键入空字符串或react中的null
如何在react中将“Enter”键事件转换为空格或空字符串(“”)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}
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,它应该转到文本区域的下一行,可能吗?是的,也很简单,我马上更新示例。