我有一个绑定到脏状态的保存按钮,当窗体变脏时,启用该按钮,否则禁用它。
这适用于编辑项目。但是当我添加一个项目时,默认情况下会禁用保存按钮,因为默认情况下dirty是 false 。
有没有办法将表单设置为脏状态?
答案 0 :(得分:0)
还没有人回答这个问题。
我现在正在做的是为我的组件创建一个canSave
道具。
canSave && dirty
可以确定保存按钮的可见性状态。
添加项目时,canSave
设置为true,保存按钮始终可见。
编辑项目时,canSave
为false,可见性由dirty
道具确定。
我仍然希望在这里找到一个更优雅的答案。
答案 1 :(得分:0)
您可以自己控制保存按钮的状态。您需要做的就是不要启用“保存/提交”按钮
答案 2 :(得分:0)
根据 Action Creators documentation的redux-form,您可以在初始化表单数据时执行以下操作:
import { initialize } from 'redux-form';
export const initializeForm = (formName, newData) => async (dispatch, getState) => {
await dispatch(initialize(formName, newData, false));
};
此外,您可以在该函数中设置其他选项。
import { initialize } from 'redux-form';
export const initializeFormWithOldValues = (formName, newData) => async (dispatch, getState) => {
await dispatch(initialize(formName, newData, false, { keepSubmitSucceeded: true, keepValues: true }));
};