2016-07-08 49 views
0

我是Redux Form的新手,并且在解决如何设置特定流程时遇到了一些问题。所以我有一个用于创建新用户的表单。在这个表单上,我有一个管理员点击的按钮来将用户添加到特定的组织(用户模型与organizationId - 用户belongsTo组织关联)。点击按钮后,弹出一个模式窗口,允许用户搜索组织列表并选择特定的组织。管理员选择模式中的组织后,我想在原始新用户表单的禁用文本字段中显示组织名称。这就是我的困境。提交表格时,我想提交组织的ID,而不是组织的名称。Redux表单 - 提交一个对象ID

我知道我可以通过几种不同的方式实现这一点,但我想知道别人认为是解决此问题的最佳方法吗?当模块中单击某个组织时,是否应更改selectedOrgId的状态,然后在表单提交中将该状态传递给我的createUser操作?或者我应该在表单中包含隐藏的输入字段,并将值设置为this.state.selectedOrgId,然后以这种方式将organizationId通过表单道具提交?

是否有更简单的方法来实现这与Redux窗体,我完全失踪?

+1

能否请您添加的代码? –

回答

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.'))