1. Bauteile1. Ein Formular muss Formularfelder enthalten. Dies können Eingabesteuerelemente, Standardformularfelder, Beschriftungen, Dropdown-Menüs, Textfelder usw. sein. Hier verweisen wir zunächst auf das gekapselte Formularfeld <Form.Item /> 2. Das von Form.create verarbeitete Formular verfügt über die Funktion, Daten automatisch zu erfassen und zu überprüfen. Wenn diese Funktion jedoch nicht benötigt wird oder das Standardverhalten die Geschäftsanforderungen nicht erfüllen kann, können Sie Form.create nicht verwenden und die Daten selbst verarbeiten. Die von Form.create() umschlossene Komponente verfügt über eine eigene this.props.form-Eigenschaft. this.props.form bietet viele APIs zur Datenverarbeitung, wie z. B. getFieldDecorator, das für die bidirektionale Bindung mit dem Formular verwendet wird. Weitere Einzelheiten finden Sie im offiziellen Antd-Dokument: Klicken Sie hier, um es anzuzeigen Zeigen Sie zuerst den Formularstil an: importiere React von „react“; importiere {Formular, Tabelle, Schaltfläche, Auswahl, Eingabe, Datumsauswahl} aus „antd“; const FormItem = Form.Item; const Option = Auswählen.Option; const {RangePicker} = DatePicker; //Holen Sie sich das Datumsbereichssteuerelement in der Datumsauswahlsteuerelementklasse UserManage extends React.Component { rendern() { const Spalten = [ { Titel: 'Ansprechpartner', dataIndex: 'Benutzername', Schlüssel: 'Benutzername', }, { Titel: 'Mobiltelefonnummer', Datenindex: "mobil", Schlüssel: 'mobile', }, { Titel: 'Firmenname', Datenindex: "Firmenname", Schlüssel: 'Firmenname', }, { Titel: „Letzte aktive Zeit“, dataIndex: 'letzteOnlineZeit', Schlüssel: 'lastOnlineTime', }, { Titel: 'Stummschaltungsstatus', Datenindex: "Status", Schlüssel: 'Status', }, ]; zurückkehren ( <div> <Formularlayout="inline" Stil={{marginBottom: '10px'}}> <FormItem label="Letzte aktive Zeit"> <RangePicker-Stil = {{Breite: '255px'}}/> </FormItem> <FormItem label="Benutzer"> <Input type="text" placeholder="Firmenname, Mobiltelefonnummer" style={{width: '155px'}}/> </FormItem> <FormItem label="Stummschaltungsstatus"> <Standardwert auswählen="Alle" style={{width: '155px'}}> <Optionswert="Alle">Alle</Option> <Optionswert="Ja">Ja</Option> <Optionswert="Nein">Nein</Option> </Auswählen> </FormItem> <Button type="primary" style={{marginTop: '3px', marginRight: '3px'}}>Abfrage</Button> <Button style={{marginTop: '3px'}}>Zurücksetzen</Button> </Form> <Tabelle Spalten={Spalten} /> </div> ) } } Standard exportieren Form.create()(Benutzerverwaltung) Columns ist die API der Table-Komponente. Columns und Column-Komponenten verwenden dieselbe API: dataIndex: Der Schlüssel, der den Spaltendaten im Datenelement entspricht und das verschachtelte Schreiben von abc unterstützt Schlüssel: Der von React benötigte Schlüssel. Wenn ein eindeutiger Datenindex festgelegt wurde, kann dieses Attribut ignoriert werden. 2. Verwenden Sie getFieldDecorator(id, options) für die Formularinteraktion1. Das Problem besteht nun darin, wie Daten für verschiedene Abfragebedingungen abgerufen werden können. Schreiben Sie daher zuerst den Code in render() neu und verwenden Sie getFieldDecorator für die bidirektionale Bindung mit dem folgenden Formular: ... machen(){ const {form} = diese.props; const {getFieldDecorator} = Formular; ... zurückkehren ( <div> <Formular bei Übermittlung={this.handleQuery} layout="inline" style={{marginBottom: '10px'}}> <FormItem label="Letzte aktive Zeit"> {getFieldDecorator('lastOnlineTime')(<RangePicker style={{width: '255px'}}/>)} </FormItem> <FormItem label="Benutzer"> {getFieldDecorator('userQueryLike')(<Input type="text" placeholder="Firmenname oder Mobiltelefonnummer" style={{width: '155px'}}/>)} </FormItem> <FormItem label="Stummschaltungsstatus"> {getFieldDecorator('status', {initialValue: "alle"})( <Stil auswählen={{width: '155px'}}> <Optionswert="0">Alle</Option> <Optionswert="1">Ja</Option> <Option value="2">Nein</Option> </Auswählen>)} </FormItem> <Button type="primary" htmlType="submit" style={{marginTop: '3px', marginRight: '3px'}}>Abfrage</Button> <Button style={{marginTop: '3px'}}>Zurücksetzen</Button> </Form> <Tabelle columns={columns} /*dataSource={(vom Modell erhaltene Daten)}*/ /> </div> ) } ...
2. Dem Formular wird oben ein onSubmit-Ereignis zugewiesen und die handleQuery-Methode wird ausgeführt, wenn das Formular übermittelt wird: ... Klasse UserManage erweitert React.Component { //Formularabfrage handleQuery = (e) => { wenn (e) e.preventDefault(); const {dispatch, form} = diese.props; form.validateFields((err, fieldsValue) => { wenn (Fehler) zurückgeben; //Wert des Zeitbereichs abrufen const rangeValue = fieldsValue['lastOnlineTime']; const userQueryLike = FelderWert['userQueryLike']; //Abfragebedingungen abrufen const values = { ...FelderWert, "letzteOnlinezeit": (Bereichswert und Bereichswert.Länge > 1) ? ([Bereichswert[0].format('JJJJ-MM-TT'), Bereichswert[1].format('JJJJ-MM-TT')]) : null, "userQueryLike": BenutzerQueryLike ? userQueryLike.trim() : BenutzerQueryLike, }; versenden({ Typ: "userManageModel/getUserList", Nutzlast: { Werte: Werte, } }); }); }; ... } ... In dieser Methode wird form.validateFields aufgerufen, um eine Reihe von Eingabefeldwerten und Fehlern zu prüfen und abzurufen. Der Eingabeparameter fieldsValue ist der aus dem FormItem des Formulars abgerufene Wert. Anschließend wird mithilfe der Form von fieldsValue['lastOnlineTime'] der Wert eines einzelnen Eingabefelds abgerufen, indem dieser mit dem zuvor geschriebenen getFieldDecorator('lastOnlineTime') zugeordnet wird. Zusammenfassend lässt sich sagen, dass Sie zur Implementierung der Formularfunktion mit Reacts Form Form.create(component) verwenden müssen, damit die umschlossene Komponente die Eigenschaft this.props.form hat, damit Sie die Methoden getFieldDecorator und validateFields des Formulars aufrufen können. Die ID in getFieldDecorator entspricht fieldsValue[''] in validateFields; und der dateIndex in columns entspricht dem Schlüsselnamen der vom Modell erhaltenen JSON-Datenzeichenfolge. Dies muss unterschieden werden. Zusätzlich zu dieser Methode gibt es zwei weitere Möglichkeiten, den Wert des Eingabefelds abzurufen und dann zu übermitteln. Sie können diesen Artikel lesen: React ruft den Wert der Eingabe ab und übermittelt ihn auf zwei Arten ZusammenfassenDamit ist dieser Artikel darüber, wie React die Form-Komponente von Ant verwendet, um Formularfunktionen zu implementieren, abgeschlossen. Weitere Informationen dazu, wie React Form-Komponenten verwendet, um Formularinhalte zu implementieren, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des Funktionsprinzips der Ausführungsanforderung von Nginx + PHP
>>: Detaillierte Zusammenfassung von MySQL und verbindungsbezogenen Timeouts
1. MyISAM-Speicher-Engine Mangel: Keine Unterstüt...
Als nützlicher Terminalemulator wird Xshell häufi...
Mac verwendet Shell (Terminal) SSH, um eine Verbi...
1. Grundlinien 2. Spezialeffekte (die Effekte sin...
Warum erzielen wir diesen Effekt? Tatsächlich wir...
Ursprüngliche Adresse: https://blog.csdn.net/m0_4...
Erstens: über Text/HTML var txt1="<h1>...
Um das Problem zu lösen, dass Deepin den Google C...
In diesem Artikel werden die detaillierten Schrit...
So zentrieren Sie ein Element im Browserfenster H...
Bei MySQL-Datenbankoperationen hoffen wir immer, ...
So geben Sie das übergeordnete Verzeichnis an ../ ...
Das Problem, dass MYSQL5.7.17 unter MAC keine Ver...
Inhaltsverzeichnis 1. Prototyp-Modus Beispiel 1 B...
In diesem Artikelbeispiel wird der spezifische Co...