Problem mit ungültigem Standardwert oder Wert in FormItem ANTD
P粉265724930
2023-08-22 23:51:25
<p>Ich habe versucht, den folgenden Code zu verwenden, aber die Felder sind nicht gebunden. Das onChange-Attribut funktioniert einwandfrei</p>
<pre class="brush:php;toolbar:false;">const { getFieldDecorator, getFieldError, isFieldTouched } = this.props.form;
const NameError = isFieldTouched("Name") &&
<FormItem validateStatus={NameError ? "error" : ""} help={NameError ||
{getFieldDecorator("Name", {
//initialValue: this.state.Data.Name,
Regeln: [{ erforderlich: true, Nachricht: „Bitte geben Sie den Komponentennamen ein!“
})(
<Eingabe
className="form-control"
type="text"
name="Name"
defaultValue={this.state.Data.Name}
onChange={this.onChange}
/>
)}
</FormItem></pre>
<p>Übersehe ich etwas? Ich habe sogar <code>input</code> anstelle von <code>Input</code></p> verwendet.
<p><strong>Edit</strong> In der Methode <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({
Daten: {
Id: data.field.Id,
Name: data.field.Name,
Beschreibung: data.field.Description,
Wert: data.field.Value
}
})
})</pre>
<p>Ich habe versucht, <code>initialValue</code> zu verwenden, aber das funktioniert nur, wenn der Statuswert in der Methode <code>constructor</code> festgelegt ist. Änderungen werden beim Aufruf der API nicht berücksichtigt. </p>
你也可以使用钩子
文档中指出:
当数据从后端加载时,只需调用
setFieldsValue
:或者更简洁地,如果后端的
data.field
完全匹配字段名: