【问题标题】:React form inside popup doesn’t clear input values弹出窗口中的反应表单不会清除输入值
【发布时间】:2022-01-01 17:17:09
【问题描述】:

我为此使用framework7 在这里创建了一个沙盒:https://codesandbox.io/s/f7-popup-bugs-forked-owfhp

来自一个父文件和一个子组件(Popup)。我正在创建一个简单的提交表单。 提交后表单状态被清除,但Popup内部数据仍然存在。

【问题讨论】:

    标签: reactjs typescript react-redux react-hooks


    【解决方案1】:

    我解决了这个问题,这里是代码框:https://codesandbox.io/s/f7-popup-bugs-forked-uu22k?file=/src/App.js

    我刚刚编辑了这些:

    const [form, setFormValues] = useState({ name: "", email: "" });
    
    const closePopup = () => {
      setOpened(false);
      setFormValues({ name: "", email: "" });
    };
    

    【讨论】:

    • 谢谢它的工作,但如果我想将状态对象设置为空 (const [form, setFormValues] = useState({});) 并且在更改输入状态时会添加目标输入和值? ?
    • 或者最好在state中定义所有的表单输入字段?像你一样......
    • @VitalieJalbu 还有一种方法,如果你真的想将 state 对象设置为空,那么你可以在 ListInput 组件中这样写 value 属性:value={data?.name || ""}。我编辑了代码框:codesandbox.io/s/f7-popup-bugs-forked-78lhq?file=/src/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多