J'utilise ant ant design dans mon projet.
Ici, j'ai une sélection comme champ dynamique. lorsque j'essaie de définir la valeur par défaut pour sélectionner. Ça ne marche pas.
<Select defaultValue="lucy">
<Option value="jack">Jack</Option>
<Option value="lucy">Lucy</Option>
<Option value="Yiminghe">yiminghe</Option>
</Select>
Je définit la valeur par défaut comme lucy
Mais cela ne fonctionne pas
Code de reproduction: https://codesandbox.io/s/6x3qv6wymr
Selon la documentation , vous ne devez pas utiliser value
ou defaultValue
avec getFieldDecorator
.
Après avoir été enveloppé par getFieldDecorator, les accessoires value (ou autre propriété définie par valuePropName) onChange (ou autre propriété définie par trigger) seront ajoutés aux contrôles de formulaire , le flux de données du formulaire sera géré par Form, ce qui entraînera:
Vous ne devez pas utiliser onChange pour collecter des données, mais vous pouvez toujours écouter les événements onChange (et ainsi de suite).
Vous ne pouvez pas définir la valeur du contrôle de formulaire via la valeur defaultValue prop, et vous devez définir la valeur par défaut avec initialValue dans getFieldDecorator à la place .
Vous ne devez pas appeler setState manuellement, veuillez utiliser this.props.form.setFieldsValue pour modifier la valeur par programme.
Ainsi, dans votre code, vous devez définir initialValue
au lieu de defaultValue
comme indiqué ci-dessous:
{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>
)}
Vous pouvez vérifier la démo de travail sur codesandbox.io .
Problème dans "getFieldDecorator", si vous le supprimez, tout va bien. Alors cherchez pb là, pas de problème avec React | Ant