私のプロジェクトでは ant design を使用しています。
ここに、動的フィールドとしての選択があります。 selectのデフォルト値を設定しようとしたとき。機能しません。
<Select defaultValue="lucy">
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="Yiminghe">yiminghe</Option>
</Select>
Defaultvalueをlucy
に設定していますが、機能しません
ドキュメント によれば、value
またはdefaultValue
をgetFieldDecorator
と一緒に使用しないでください。
GetFieldDecoratorによってラップされた後、value(またはvaluePropNameによって定義された他のプロパティ)onChange(またはトリガーによって定義された他のプロパティ)プロパティがフォームコントロールに追加されます。フォームデータの流れはFormによって処理されます。
OnChangeを使用してデータを収集するべきではありませんが、onChange(など)イベントをリッスンすることはできます。
値defaultValue propを介してフォームコントロールの値を設定することはできません。代わりにgetFieldDecoratorのinitialValueでデフォルト値を設定する必要があります。
SetStateを手動で呼び出すべきではありません。this.props.form.setFieldsValueを使用してプログラムで値を変更してください。
したがって、コードでは、次のようにinitialValue
の代わりにdefaultValue
を定義する必要があります。
{getFieldDecorator(`names[${k}]`, {
validateTrigger: ["onChange", "onBlur"],
initialValue: "lucy",
rules: [
{
required: true,
whitespace: true,
message: "Please input passenger's name or delete this field."
}
]
})(
<Select>
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="Yiminghe">yiminghe</Option>
</Select>
)}
codesandbox.io で動作デモを確認できます。
「getFieldDecorator」の問題。削除すると、すべて問題ありません。そこでpbを検索します。React| Antに問題はありません