我是Redux Form的新手,我在解决如何设置特定流程方面遇到了一些问题。所以我有一个用于创建新用户的表单。在此表单上,我有一个管理员单击以将用户添加到特定组织的按钮(用户模型与organizationId - 用户所属组织相关联)。单击该按钮时,会弹出一个模态窗口,允许用户搜索组织列表并选择特定组织。管理员在模态中选择组织后,我想在原始新用户表单上的禁用文本字段中显示组织名称。继承我的困境。提交表单时,我想提交组织ID,而不是组织的名称。
我知道我可以通过几种不同的方式实现这一目标,但我想知道其他人认为解决这个问题的最佳方法是什么?当在模态中单击组织时,是否应该更改selectedOrgId的状态,然后在表单提交时将该状态传递到我的createUser操作中?或者我应该在表单上包含一个隐藏的输入字段并将值设置为等于this.state.selectedOrgId然后通过表单道具提交organizationId?
使用Redux Form可以更轻松地实现这一目标吗?
答案 0 :(得分:1)
如果您不介意提交组织名称,则可以使用模态
dispatch(change('userForm', 'organization', { id: 7, name: 'Acme, Inc.' }))
关闭之前,然后禁用输入为"organization.name"
。您不需要任何隐藏输入,因为该概念doesn't make sense in Redux Form。
如果您厌恶深层物体,可以
dispatch(change('userForm', 'organizationId', 7))
dispatch(change('userForm', 'organizationName', 'Acme, Inc.'))