如何在React Redux Form中为表单字段赋值空数组?
解决React Redux Form中赋值空数组字段无效的问题
方法1:使用initialize方法初始化字段
如果是要给已有表单新增空数组字段,change方法可能因字段未预先定义而不生效,改用initialize可直接初始化指定字段,若需保留其他表单值可合并现有数据:
// 仅初始化目标空数组字段 initialize('data', []); // 保留现有表单值并新增空数组字段 const currentValues = getFormValues('yourFormName')(props); initialize({ ...currentValues, data: [] });
确保initialize从react-redux-form正确导入,且表单已完成挂载。
方法2:在表单初始值中预先定义字段
若表单初始化时就应包含该数组字段,直接在initialValues中声明:
const initialFormValues = { field1: '', data: [] // 预先定义为空数组 }; // 在表单组件中使用 <Form model="yourFormName" initialValues={initialFormValues}> {/* 表单字段 */} </Form>
后续调用change('data', [])或更新数组时即可正常生效。
方法3:手动dispatch change action
若上述方法无效,可直接dispatch Redux Form的change action,注意指定完整表单路径:
import { change } from 'react-redux-form'; // 在组件中通过props.dispatch调用 props.dispatch(change('yourFormName.data', []));
内容的提问来源于stack exchange,提问作者SamDevG
相关产品推荐
相关产品推荐

