0
J'essaye de construire un formulaire en utilisant FieldArrays
de redux-form. Chaque champ du tableau fields
doit avoir un champ "order". Je veux préremplir ce champ avec une valeur par défaut/initiale. Je sais comment fournir initialValues
au formulaire, mais ne peux pas comprendre comment le faire pour un individu Field
.Comment fournir une valeur initiale à un champ individuel sous forme redux?
const renderQuestion = ({ fields, meta: { error, submitFailed } }) => (
<ul>
{fields.map((question, index) => (
<li key={index}>
<button type="button" title="Remove Question" onClick={() => fields.remove(index)}>
x
</button>
<h4>Question #{index + 1}</h4>
<Field
name={`${question}.order`}
value={index + 1} // This line is an example to what I am trying to achieve
type="number"
component={renderField}
label="Order" />
<Field name={`${question}.prompt`} type="text" component={renderField} label="Prompt" />
</li>
))}
</ul>
);
const QuizStepAddForm = props => {
...
<FieldArray name="questions" component={renderQuestion} />
...
};
Sans blague :). Merci! – SaidAkh
Merci encore @kngroo. Pouvez-vous s'il vous plaît m'aider une fois de plus? Pouvez-vous me dire comment je peux correctement fournir cette valeur 'initiale' à un composant enveloppé -' renderField', de sorte que cette valeur initiale sera un point de départ que l'utilisateur peut changer. J'ai essayé de le faire fonctionner de cette façon: ' SaidAkh
Je ne suis pas exactement sûr de ce que vous voulez dire. Vous voulez passer une valeur initiale en tant que prop à un composant wrapper qui enveloppe ''? Vous voudrez peut-être lire sur les composants contrôlés et non contrôlés ici: https://reactjs.org/docs/forms.html#controlled-components –
kngroo