Ant-design: Was sind die Parameter der Methode Form setFieldsValue, ich übergebe ein Objekt und die Ausführung stürzt in componentWillReceiveProps ab

Erstellt am 9. Sept. 2016  ·  16Kommentare  ·  Quelle: ant-design/ant-design

  • Antd-Version: 1.11.0
  • Betriebssystem und seine Version: MAC 10.11.6 Speicher 16G CPU i7
  • Browser und seine Version: CHROME

Klicken Sie auf eine Bearbeitungsschaltfläche, um das Formular mit vorhandenen Daten zu füllen.

Wenn auf die Schaltfläche geklickt wird, ist der Aktualisierungsstatus der Bearbeitungsstatus,
Rufen Sie die setFieldsValue-Methode in componentWillReceiveProps auf. Nach etwa einer Minute ist das Formular ausgefüllt.
Dann klicke ich auf einen beliebigen Input und warte ca. 1 Minute weiter.

Hilfreichster Kommentar

Dieses Formular ist wirklich schwierig zu verwenden, und die Kosten für die Verwendung nach dem Verpacken sind zu hoch

Alle 16 Kommentare

Die Essenz von setFieldsValue besteht darin, setState der äußeren Hülle aufzurufen und indirekt componentWillReceiveProps aufzurufen, also ist es eine Endlosschleife.

Bitte verwenden Sie mapPropsToFields http://ant.design/components/form/#Form.create (Optionen)

@benjycui danke

mapPropsToFields wandelt Props in entsprechende Werte um, mit denen die Werte im Redux Store ausgelesen werden können
Funktion(Requisiten): Objekt{Feldname: Objekt{Wert}}
Ich sehe nicht, wie ich in mapPropsToFields schreiben möchte

Hallo, gibt es eine Möglichkeit, diese Konvertierung zu übersetzen?

@bnlambert Was ist deine Frage

Ich möchte sehen, wie man Anfangswerte mit setFieldsValue setzt.

Auch mein Datepicker-Kalender erscheint auf Chinesisch; wie korrigiere ich es?

Sie können es moment.locale('en'); versuchen

https://ant.design/components/date-picker/ doc

Benötige ich einen Moment von 'antd' oder muss ich ihn separat herunterladen?.
Bitte etwas deutlicher. Danke

Auf Ihrer Website gibt es diesen Hinweis für 'setFieldsValue'

please don't use it in componentWillReceiveProps, otherwise, it will cause an endless loop, more)

Es verlinkt auf diese Seite für das, was ich für eine Erklärung halte. Könnten wir, wenn möglich, eine Art Übersetzung bekommen?

Vielen Dank

@coljung versuchen Sie es mit dem Google-Übersetzer.

@bnlambert @coljung oder wenn Sie auf Chrome sind, klicken Sie mit der rechten Maustaste -> ins Englische übersetzen

Ich kann verstehen, dass einige Probleme für eine bequeme/schnellere Kommunikation zwischen Betreuern auf Chinesisch geschrieben wurden, aber auf dieses wird in der offiziellen Dokumentation verwiesen, es ist "ein Teil davon", also sollte es übersetzt werden.
Alternative: Die hier geschriebenen Informationen sollten in die offizielle Dokumentation aufgenommen werden.

@benjycui IMO "versuchen Sie Google Translator" ist kein konstruktiver Kommentar und verstößt gegen einige Verhaltensregeln, die in CODE_OF_CONDUCT.md erwähnt werden

  • Umgang mit einladender und inklusiver Sprache
  • Respektieren Sie unterschiedliche Sichtweisen und Erfahrungen
  • Konstruktive Kritik anmutig annehmen
  • Konzentration auf das Beste für die Gemeinschaft
  • Empathie gegenüber anderen Community-Mitgliedern zeigen

An die 9 Personen, die mit „:smile:“ reagiert haben: Sie sind offensichtlich zweisprachig, wie lange hätte es gedauert, den Inhalt mit Google zu übersetzen, die Übersetzung bei Bedarf dank Ihrer Sprachkenntnisse anzupassen und stattdessen den Inhalt hier einzufügen?

Davon abgesehen:

  1. Das OP beschreibt das Problem: Das Aufrufen setFieldsValue in componentWillReceivedProps verursacht eine Schleife, die schließlich nach 1 Minute stoppt. Jede Feldänderung verursacht eine neue "Endlos"-Schleife.
  2. Der Betreuer antwortete, dass setFieldsValue zu einem this.setState im HOC führt, also Props ändert und direkt bewirkt, dass Ihre Methode componentWillReceiveProps aufgerufen wird. Deshalb gibt es eine Schleife. Wir sollten mapPropsToFields verwenden.
  3. Das OP dankt dem Betreuer
  4. Eine andere (unbeantwortete) Frage wird gestellt. mapPropsToFields wird verwendet, um Daten aus dem Speicher zu lesen, wie kann ich darin schreiben?

Dieses Formular ist wirklich schwierig zu verwenden, und die Kosten für die Verwendung nach dem Verpacken sind zu hoch

mapPropsToFields- und Upload-Konflikt-Upload setzt das Formular zurück

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen