Problème avec defaultValue ou valeur non valide dans FormItem ANTD
P粉265724930
P粉265724930 2023-08-22 23:51:25
0
2
452
<p>J'ai essayé d'utiliser le code suivant mais les champs ne sont pas liés. L'attribut onChange fonctionne correctement</p> <pre class="brush:php;toolbar:false;">const { getFieldDecorator, getFieldError, isFieldTouched } = this.props.form; const NameError = isFieldTouched("Nom") && <FormItem validateStatus={NameError ? "erreur" : ""} help={NameError ""}> {getFieldDecorator("Nom", { //valeurinitiale : this.state.Data.Name, règles : [{ requis : vrai, message : "Veuillez saisir le nom du composant !" }] })( <Entrée className="form-control" type="texte" nom="Nom" defaultValue={this.state.Data.Name} onChange={this.onChange} /> )} </FormItem></pre> <p>Est-ce que j'ai raté quelque chose ? J'ai même utilisé <code>input</code> au lieu de <code>Input</code></p> <p><strong>Edit</strong> Dans la méthode <code>componentDidMount</code> <pre class="brush:php;toolbar:false;">fetch('http://localhost:5728/Fields/get/' + this.state.Data.Id) .then(results=>{ retourner les résultats.json() }) .then(data=>{ this.setState({ Données: { Identifiant : data.field.Id, Nom : data.field.Name, Description : données.champ.Description, Valeur : data.field.Value } }) })</pré> <p>J'ai essayé d'utiliser <code>initialValue</code> mais cela ne fonctionne que si la valeur d'état est définie dans la méthode <code>constructor</code> Les modifications ne sont pas reflétées lors de l'appel de l'API. </p>
P粉265724930
P粉265724930

répondre à tous(2)
P粉940538947

Vous pouvez également utiliser des crochets

import { Form } from "antd"

const [form] = Form.useForm();

 fetch('api')
      .then(results=>{
        return results.json()
      })
      .then(data=>{
        form.setFieldsValue({
           sample: data.dataYouWant
        });


<Form form = {form}>
   <Form.Item name = "sample">
       <Input />
   </Form.Item>
</Form>
P粉078945182

La documentation indique :

Lorsque les données sont chargées depuis le backend, appelez simplement setFieldsValue :

fetch('http://localhost:5728/Fields/get/' + this.state.Data.Id)
      .then(results=>{
        return results.json()
      })
      .then(data=>{

        this.props.form.setFieldsValue({
                Id: data.field.Id,
                Name: data.field.Name,
                Description: data.field.Description,
                Value: data.field.Value
          })
      })

Ou plus succinctement, si le data.field du backend correspond exactement au nom du champ :

this.props.form.setFieldsValue(data.field)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!