【问题标题】:Why does my custom TextField reset to its default value when content is deleted?为什么删除内容后我的自定义 TextField 会重置为其默认值?
【发布时间】:2023-01-18 00:08:47
【问题描述】:

我创建了一个使用 MUI TextField、react-number-format NumericFormat 和 react-hook-form useController 的自定义 FormCurrencyField

它有效:值被正确格式化为货币并且表单模型被正确更新。

我遇到的问题是,如果我删除 TextField 的内容,它会重新设置为默认值。我不知道为什么。

这是问题的演示:https://stackblitz.com/edit/react-odfkwv

【问题讨论】:

    标签: reactjs material-ui react-hook-form react-number-format


    【解决方案1】:

    您使用defaultValues,这在没有值时显示。而不是像这样使用values

    const {
        control,
        formState,
        formState: { isValidating },
      } = useForm({
        mode: 'onChange',
        values: { price: 1000 },
      });
    

    【讨论】:

      【解决方案2】:

      defaultValues 是当字段为空时表单字段应重置的内容。如果您想要在清除或删除内容时字段重置为空字段的行为,请在 useForm 选项中将 defaultValues 替换为 values

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-13
        • 1970-01-01
        • 1970-01-01
        • 2017-12-16
        • 1970-01-01
        • 2022-01-19
        • 1970-01-01
        相关资源
        最近更新 更多