javascript - 在 ReactJS 中提交表单后如何重置我的输入字段?

标签 javascript reactjs react-native forms

我尝试将状态设置为空字符串,但它不起作用,输入的值已重置,但它仍然在输入字段中显示输入的值。我该如何解决这个问题?

import { useState } from 'react';

const App = () => {
const [task,setTask] = useState('');
const [list,setList] = useState([]);


const submitHandler = (event) => {
  event.preventDefault();
  const newTask = { id: new Date().getTime().toString(), title: task };
  setList([...list, newTask]);
  setTask('');
}

const clearList = () => {
  setList([]);
}

const removeItem = (id) => {
    const filteredList = list.filter(item => item.id !== id);
    setList(filteredList);
}

  return <div>
          <h2>To do list!</h2>
          <form onSubmit={submitHandler}> Enter Task! 
          <input type='text'
            placeholder='Wut you upto?'
            onChange = {(event) => {setTask(event.target.value)}}>
          </input>
          </form>
          <div>
          {list.map((obj) => (
          <h4 key={obj.id}>{obj.title}<button onClick={() => removeItem(obj.id)}>X</button></h4>))}
          <button onClick={clearList}>Clear All</button>
          </div>
          </div>
}

export default App

最佳答案

您需要将value属性添加到输入字段:

          <input type='text'
            placeholder='Wut you upto?'
            onChange = {(event) => {setTask(event.target.value)}}>
            value={task}
          </input>

关于javascript - 在 ReactJS 中提交表单后如何重置我的输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72760394/

相关文章:

基于另一个文本框值隐藏文本框的 Javascript 代码

javascript - 在 d3 Canvas map 上绘制圆弧时出现问题

reactjs - 更新嵌套的 setState 对象 - ReactJS

javascript - Reactjs中的渲染问题

react-native - 如何获取一个 zip 文件并解压到 ram 中 react native

javascript - jQuery 验证 - 两个必填字段和一条错误消息

javascript - React select onChange 获取 key

reactjs - ListItem 未显示来自 React Native 中 "title"属性的文本

android - 如何选择一段时间而不是特定时间 React Native

javascript - Google Apps javascript 遍历多个数组