2016-06-30 66 views
0

我正在用React構建多步驟應用程序窗體。首先用純內部狀態構建它,現在我正在使用redux-form重構Redux。帶連接字段的還原式嚮導窗體

用這裏的例子作爲基礎:http://redux-form.com/5.2.5/#/examples/wizard?_k=oftw7a我們來了一個很好的方法。

但是,當我有兩個應該具有相同的值的形式時出現問題。在其中一個頁面中,我有一個名稱字段,應該在下一頁的名稱字段中進行復制。如果您從最後一頁返回,則會發生相反的情況。有關如何實現這一目標的任何提示?

回答

1

使用嚮導,你基本上是使用完全相同的形式,分成多個部分。最終它的形式是一樣的,因爲redux形式按名稱來追蹤它們。圖書館是如何識別同一表格的 - 使用名稱。

form: 'wizard', 

在這裏,您可以看到表單的確切相同實例將在整個作品中共享。 fields以類似的方式工作。每個field被定義爲form的一部分。

只要您使用fields對象內部相同field常量傳遞到reduxForm功能,只要value的形式是一樣的,所以它們使用相同的底層表單對象,它應該工作你很好。

在一個頁面上,你應該通過在

export default reduxForm({ 
    form: 'wizard', 
    fields : { 
    'fieldIWantOnBothPartsOfTheForm', 
    'someOtherFieldThatShouldOnlyBeHere', 
    }, 
    ... 

,然後其他網頁:

export default reduxForm({ 
    form: 'wizard', 
    fields : { 
    'fieldIWantOnBothPartsOfTheForm', 
    'thirdFieldHere', 
    }, 
    ... 

此外,請務必保持destroyOnUnmount等於false如果你想向後導航和-向前。

希望有所幫助。

+1

非常感謝!經過數小時嘗試不同的解決方案之後,我忽略了表單必須是同一個名字的事實......優秀的解釋! – Vegardh