Ant-design: Quels sont les paramètres de la méthode Form setFieldsValue, je passe un objet et l'exécution plante dans componentWillReceiveProps

Créé le 9 sept. 2016  ·  16Commentaires  ·  Source: ant-design/ant-design

  • et version : 1.11.0
  • Système d'exploitation et sa version : MAC 10.11.6 Mémoire 16G CPU i7
  • Navigateur et sa version : CHROME

Cliquez sur un bouton de modification pour remplir le formulaire avec les données existantes.

Lorsque le bouton est cliqué, l'état de mise à jour est l'état d'édition,
Appelez la méthode setFieldsValue dans componentWillReceiveProps. Après environ une minute ou deux, le formulaire est rempli.
Ensuite, je clique sur n'importe quelle entrée et continue d'attendre environ 1 minute.

Commentaire le plus utile

Ce formulaire est vraiment difficile à utiliser, et le coût de son utilisation après emballage est trop élevé

Tous les 16 commentaires

L'essence de setFieldsValue est d'appeler setState du wrapper externe, et d'appeler indirectement componentWillReceiveProps , donc c'est une boucle infinie.

Veuillez utiliser mapPropsToFields http://ant.design/components/form/#Form.create (options)

@benjycui merci

mapPropsToFields convertit les accessoires en valeurs correspondantes, qui peuvent être utilisées pour lire les valeurs dans le magasin Redux
Fonction(accessoires) : Objet{ nom du champ : Objet{ valeur } }
Je ne vois pas comment je veux écrire dans mapPropsToFields

Salut, y a-t-il un moyen de traduire cette conversion ?

@bnlambert Quelle est votre question

Je souhaite voir comment définir les valeurs initiales avec setFieldsValue .

De plus, mon calendrier datepicker apparaît en chinois; comment le rectifier ?

vous pouvez essayer moment.locale('en');

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

Ai-je besoin d'un moment de 'antd' ou dois-je le télécharger séparément ?.
Merci d'être un peu plus explicite. Merci

Sur votre site Web, il y a cette note pour 'setFieldsValue'

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

Il renvoie à cette page pour ce que je suppose que c'est une explication. Pourrions-nous avoir une sorte de traduction si possible ?

Merci

@coljung essayez le traducteur Google.

@bnlambert @coljung ou si vous êtes sur chrome, faites un clic droit -> traduire en anglais

Je peux comprendre que certains problèmes aient été écrits en chinois pour une communication pratique/rapide entre les responsables, mais celui-ci est référencé dans la documentation officielle, il en fait "partie", il doit donc être traduit.
Alternative : les informations écrites ici doivent être incluses dans la documentation officielle.

@benjycui IMO "essayez le traducteur Google" n'est pas un commentaire constructif et enfreint certaines règles de conduite mentionnées dans CODE_OF_CONDUCT.md

  • Utiliser un langage accueillant et inclusif
  • Être respectueux des points de vue et des expériences différents
  • Accepter avec grâce les critiques constructives
  • Se concentrer sur ce qui est le mieux pour la communauté
  • Faire preuve d'empathie envers les autres membres de la communauté

Aux 9 personnes qui ont réagi par ":smile:": vous êtes manifestement bilingue, combien de temps aurait-il fallu pour Google Translater le contenu, ajuster la traduction si besoin grâce à vos compétences linguistiques et coller le contenu ici à la place ?

Cela étant dit:

  1. l'OP décrit le problème : l'appel setFieldsValue dans componentWillReceivedProps provoque une boucle qui finit par s'arrêter après 1 minute. Chaque changement de champ provoque une nouvelle boucle "infinie".
  2. le responsable a répondu que setFieldsValue conduit à un this.setState dans le HOC, donc il change les accessoires et provoque directement l'appel de votre méthode componentWillReceiveProps . C'est pourquoi il y a une boucle. Nous devrions utiliser mapPropsToFields .
  3. l'OP remercie le mainteneur
  4. Une autre question (sans réponse) est posée. mapPropsToFields est utilisé pour lire les données du magasin, comment puis-je y écrire ?

Ce formulaire est vraiment difficile à utiliser, et le coût de son utilisation après emballage est trop élevé

mapPropsToFields et le téléchargement de conflit de téléchargement réinitialisera le formulaire

Cette page vous a été utile?
0 / 5 - 0 notes