【发布时间】:2023-03-13 12:23:01
【问题描述】:
在我的 react 应用程序中,我有一个 button(Reset) 和 onClick 属性,我想在单击 button 时同时发生一些事情。
onClick 属性是否有任何方式可以导致多个操作运行 -
- 再次在屏幕上显示所有学生(以及详细信息)......
- 清除文本框的值并将其设置为默认状态,即要求最终用户输入内容。
我尝试了什么:
<input
type="submit"
value="Reset"
onClick={() => {
setSearchStu(student);
document.getElementById("myTextbox").value = "";
}}
/>;
这是上面代码的工作实现。
setSearchStu(student); 正在重置屏幕上所有学生的数据,document.getElementById("myTextbox").value = ""; 正在将值设置为空。
但是这段(上面写的)代码只显示学生数据而不清除文本字段。
关于从 input 标记中删除 setSearchStu(student);,类似于:
<input
type="submit"
value="Reset"
onClick={() => {
document.getElementById("myTextbox").value = "";
}}
/>;
在清除现有值并将textBox 设置为空以再次输入内容方面工作正常。但这对我来说没有任何意义。
那么我怎样才能同时完成这两项任务呢?
“我的文本框”输入
<input
type="text"
value={userInput}
onChange={(e) => setUserInput(e.target.value)}
placeholder="Search here"
id="myTextbox"
/>;
【问题讨论】:
-
你能添加你的组件的完整代码吗?什么是“我的文本框”?同样在使用 react 时,不建议直接查询 DOM,您可以做的是为您的输入设置另一个状态,然后通过 state updater 方法重置输入值。
-
你不应该在使用 react 时直接操作 DOM,而是在这种情况下尝试使用 ref 或 state 作为输入字段。
-
Shyam,我用“myTextbox”更新了我的问题
标签: javascript html reactjs tags