Masalah dengan nilai lalai atau nilai dalam FormItem ANTD tidak sah
P粉265724930
2023-08-22 23:51:25
<p>Saya cuba menggunakan kod berikut tetapi medan tidak terikat. atribut onChange berfungsi dengan baik</p>
<pre class="brush:php;toolbar:false;">const { getFieldDecorator, getFieldError, isFieldTouched } = this.props.form;
const NameError = isFieldTouched("Nama") &&
<FormItem validateStatus={NameError ? "error" : ""} help={NameError ||.
{getFieldDecorator("Nama", {
//initialValue: this.state.Data.Name,
peraturan: [{ diperlukan: benar, mesej: "Sila masukkan nama komponen }]
})(
<Input
className="form-control"
type="text"
name="Nama"
defaultValue={this.state.Data.Name}
onChange={this.onChange}
/>
)}
</FormItem></pre>
<p>Adakah saya terlepas sesuatu? Saya juga menggunakan <code>input</code> dan bukannya <code>Input</code></p>
<p><strong>Edit</strong> Dalam kaedah <code>componentDidMount</code>
<pre class="brush:php;toolbar:false;">fetch('http://localhost:5728/Fields/get/' + this.state.Data.Id)
.then(results=>{
return results.json()
})
.then(data=>{
this.setState({
Data: {
Id: data.field.Id,
Nama: data.field.Name,
Penerangan: data.field.Description,
Nilai: data.field.Value
}
})
})</pre>
<p>Saya cuba menggunakan <code>initialValue</code> tetapi itu hanya berfungsi jika nilai keadaan ditetapkan dalam kaedah <code>constructor</code> Perubahan tidak ditunjukkan semasa memanggil API. </p>
Anda juga boleh menggunakan cangkuk
Dokumentasi menyatakan:
Apabila data dimuatkan dari bahagian belakang, hubungi sahaja
setFieldsValue
:Atau lebih ringkas, jika
data.field
bahagian belakang betul-betul sepadan dengan nama medan: