如何在Formik的initialValues中创建条件赋值

问题描述 投票:0回答:1

我在 Formik 中有初始值,但我想根据另一个字段分配值。

我有这个代码:

const initialValues: MyValues = {
    fieldType: fieldType.FIELDA,
    fieldInformation: '',
    fieldB: '', 
    dateRange: {
      from: lastWeek,
      to: today,
    },
  };

我想要类似的东西:

const initialValues: MyValues = {
    fieldType: fieldType.FIELDA,
    fieldInformation: '',
    fieldB: fieldType === fieldType.FieldA ? 'all' : '', 
    dateRange: {
      from: lastWeek,
      to: today,
    },
  };

所以fieldB取决于fieldType的值。我怎样才能做到这一点?问题是 fieldType 是一个单选按钮,如果选择了 fieldType.FIELDB,我想用 '' 进行初始化。

编辑:这也没有帮助。语法正确。

fieldB: { fieldType: fieldType.FIELDA } ? 'all : '',
javascript reactjs formik
1个回答
0
投票

您可以使用从

watch
钩子返回的
useForm
方法。或者您可以使用名为
useWatch
的挂钩为其创建一个观察程序,然后有条件地更新值。

useWatch 参考:https://react-hook-form.com/docs/usewatch

观看参考:https://react-hook-form.com/docs/useform/watch

如果有任何疑问,我很乐意提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.