javascript - 如何从 React 中的 useRef 重置输入字段?

标签 javascript reactjs

我有一个文本输入。如果我单击页面中的特定按钮,我想重置输入的值。这是我的代码:

const inputRef = useRef()

const handleClick= () => {
 inputRef.current.value.reset();
 return "hello world"
}

return (
<>
<input type="text" ref={inputRef}/>
<button onClick={()=> handleClick}>delete all</button>
</>
)


它不起作用。如何解决这个问题?

最佳答案

reset可在 form 上获得元素。
您可以使用表单包装您的输入,并触发 reset在上面。

const {useRef} = React;
const App = () => {
  const formRef = useRef();

  const handleClick = () => {
    formRef.current.reset();
  };

  return (
    <form ref={formRef}>
      <input type="text" />
      <input type="password" />
      <input type="checkbox" />
      <textarea></textarea>
      <button onClick={handleClick} type="button">
        clear form
      </button>
    </form>
  );
};

ReactDOM.render(<App />, document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.10.2/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.10.2/umd/react-dom.production.min.js"></script>

<div id="root"></div>

关于javascript - 如何从 React 中的 useRef 重置输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62412963/

相关文章:

node.js - npm runject 后无法使用 JSX

javascript - 第一次编写 Angular 指令并返回编译后的模板

javascript - 为什么悬停某个元素时无法更改下拉菜单颜色?

javascript - 是否可以键入装饰器添加的属性?

reactjs - 属性 '[Symbol.observable]' 在类型 'Store<ApplicationState>' 中缺失,但在类型 'Store<any, AnyAction>' 中需要。 TS2741

javascript - React Material-UI Select 使用对象数组作为源

javascript - Google Apps 脚本 (JavaScript) 正则表达式拆分电子表格单元格引用

javascript - jQuery Cookie 故障

reactjs - .map() , Undefined 不是 React Native 中的函数

javascript - 如何通过字符串动态导入icon/jsx元素?