gpt4 book ai didi

reactjs - 在 React 的文本区域中按下 Enter 键时提交表单?

转载 作者:行者123 更新时间:2023-12-03 13:19:37 26 4
gpt4 key购买 nike

当用户在<textarea>中按下Enter时,如何使表单提交?默认行为是在 <textarea> 中插入换行符.

<form className="" onSubmit={newComment}>
<textarea type="text" rows="3" name="body" />
<button className="btn" type="submit">
Comment
</button>
</form>

我应该有一个 onChange事件于 <textarea> ,并在功能测试中查看是否按下了 Enter 键?这就是我使用普通 JavaScript 执行此操作的方法,但我无法在 React 的合成事件中找到关键事件。

最佳答案

您的文本区域是不受控制的元素。这是一种可以接受的方法,但是 Facebook 鼓励使用受控输入。

无论如何,以下是如何针对不受控制的表单执行此操作:

onEnterPress = (e) => {
if(e.keyCode == 13 && e.shiftKey == false) {
e.preventDefault();
this.myFormRef.submit();
}
}

render() {
return (
<form ref={el => this.myFormRef = el} className="">
<textarea type="text" rows="3" name="body" onKeyDown={this.onEnterPress} />
<button className="btn" type="submit">
Comment
</button>
</form>
);
}

您还可以使用 id 代替上面的 refs

关于reactjs - 在 React 的文本区域中按下 Enter 键时提交表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47809282/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com