2016-07-08 46 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.'))