2016-05-26 4 views
19

मुझे एक पृष्ठ पर कई रूपों को एम्बेड करने का प्रयास करने में कोई समस्या है। मैंने देखा कि configForm पृष्ठ पर कई रूपों के साथ भी एक बार निष्पादित करता है, इसलिए मैं गतिशील रूप से विभिन्न रूपों के नाम उत्पन्न नहीं कर सकता।पृष्ठ पर एक ही redux-form कई बार एम्बेड करने के लिए कैसे?

Screenshot showing multiple text fields bound together

function configForm(){ 
    const uuid = UUID.generate(); 

    const config = { 
    form:`AddCardForm_${uuid}`, 
    fields:['text'], 
    validate:validate 
    } 

    return config; 
} 

export default reduxForm(configForm(), mapStateToProps, {togglePanelEditMode, addCardToPanel})(CardFormContainer); 

मैं फॉर्म कैसे जोड़ सकता हूं ताकि वे एक-दूसरे से स्वतंत्र हो सकें?

उत्तर

38

पृष्ठ पर एक ही फॉर्म को कई बार एम्बेड करने के दो तरीके हैं।

1. formKey (Redux फार्म 5) का उपयोग करते हुए

formKey यह कर जब [email protected] (या नीचे) का उपयोग कर की आधिकारिक तरीका है। आप प्रपत्र पहचान करने के लिए माता पिता से कुंजी पारित करने के लिए है:

panels.map(panel => 
    <PanelForm key={panel.uuid} formKey={panel.uuid} initialValues={panel} /> 
           ^^^^^^^ 
         declare the form key 
) 

आपका प्रपत्र परिभाषा होगा:

reduxForm({form: "AddCardForm", fields: ["text"], validate}) 

हालांकि इस पद्धति [email protected] से हटा दिया गया।

2. एक अनूठा form नाम (Redux फार्म 5 और ऊपर) का उपयोग करते हुए

निम्नलिखित पैटर्न Redux फार्म 6. के बाद से रूपों की पहचान करने की सिफारिश की तरीका है यह पिछले संस्करणों के साथ पूरी तरह से संगत है।

panels.map(panel => 
    <PanelForm key={panel.uuid} form={`AddCardForm_${panel.uuid}`} initialValues={panel} /> 
           ^^^^ 
        declare the form identifier 
) 

आपका प्रपत्र परिभाषा होगा:

reduxForm({fields: ["text"], validate}) 
// No `form` config parameter here! 
+0

यह काम कर रहा है! धन्यवाद फ्लोरंट। – Kyle

+1

इसके लिए धन्यवाद। इस सवाल को फिर से पूछा गया ... इच्छा है कि यह मेरी वेब खोजों में आए !! –

+2

धन्यवाद। दो विकल्पों में संस्करण जानकारी को थोड़ा सा स्पष्ट किया जा सकता है। मेरा सुझाव: 1. ... (रेडक्स फॉर्म 5), 2. ... (रेडक्स फॉर्म 6+) – jmu

संबंधित मुद्दे