我在 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 : '',
您可以使用从
watch
钩子返回的 useForm
方法。或者您可以使用名为 useWatch
的挂钩为其创建一个观察程序,然后有条件地更新值。
useWatch 参考:https://react-hook-form.com/docs/usewatch
观看参考:https://react-hook-form.com/docs/useform/watch
如果有任何疑问,我很乐意提供帮助。