0
私はredux形式からFieldArrays
を使用してフォームを作成しようとしています。 fields
アレイ内の各フィールドには、「注文」フィールドが必要です。このフィールドにデフォルト/初期値をあらかじめ入力しておきたい。私はフォームにinitialValues
を提供する方法を知っていますが、個人のためにそれを行う方法を理解することはできませんField
。個々のフィールドにredux-formの初期値を与える方法は?
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} />
...
};
冗談:)。ありがとう! – SaidAkh
もう一度@kngrooありがとうございました。もう一度私を助けてもらえますか?この初期値をラップされたコンポーネント(renderField)に適切に与える方法を教えてください。この初期値はユーザが変更できる開始点になります。私はそれをこのように動作させようとしました: ' SaidAkh
私はあなたが何を意味するか正確には分かりません。 ''をラップするラッパーコンポーネントの小道具として、いくつかの初期値を渡したいですか?制御されたコンポーネントと制御されていないコンポーネントについては、こちらをご覧ください: https://reactjs.org/docs/forms.html#controlled-components –
kngroo