javascript - React:如何提交表单
问题描述
解决方案
你可以像这样使用 React SyntheticEvent onKeyPress
:
<textarea
type="text"
placeholder="Write a comment..."
onKeyPress={ commentEnterSubmit}
name="content"
ref={register({ required: true, maxLength: 1000 })}
/>
更新
在您的commentEnterSubmit函数中:
const commentEnterSubmit = (e) => {
if (e.key === "Enter" && e.shiftKey == false) {
const data = {content:e.target.value};
return handleSubmit(CommentOnSubmit(data));
}
如果你想重置你的输入,你可以使用setValue
fromuseForm
钩子。像这样:
将 setValue 添加到 const { register, handleSubmit, control, errors,setValue } = useForm();
const CommentOnSubmit = (data) => {
let formData = new FormData();
formData.append("content", data);
formData.append("user", user?.id);
// your axios call ...
setValue("content","");
};
我根据您的示例制作了一个代码沙盒
推荐阅读
- python - 构造一个大于任何字符串的对象
- javascript - 在Javascript中自动完成输入日期?
- amazon-web-services - 卓:我的账户会收到意外费用吗?
- java - 为什么导入字体会破坏代码的其他部分?
- html - 如何使 Navbar 和 Carousel 始终全屏结合
- javascript - IPFS 返回文件地址
- yii2 - 无法打开文件以读取 [filename.pdf] yii2 swiftmailer
- javascript - 如何在 FlatList 中的项目之间切换?
- django - 有没有办法通过 Django 模板在 if 条件中使用模型字段?
- python - 如何更快地裁剪出高振幅的音频部分