Ant-design: Apa parameter metode Form setFieldsValue, saya meneruskan objek dan eksekusi macet di componentWillReceiveProps

Dibuat pada 9 Sep 2016  ·  16Komentar  ·  Sumber: ant-design/ant-design

  • versi semut: 1.11.0
  • Sistem operasi dan versinya: MAC 10.11.6 Memori 16G CPU i7
  • Browser dan versinya: CHROME

Klik tombol edit untuk mengisi formulir dengan data yang ada.

Ketika tombol diklik, status pembaruan adalah status edit,
Panggil metode setFieldsValue di componentWillReceiveProps. Setelah sekitar satu menit atau lebih, formulir terisi.
Lalu saya klik Input apa saja dan terus menunggu sekitar 1 menit.

Komentar yang paling membantu

Formulir ini sangat sulit digunakan, dan biaya penggunaannya setelah pengemasan terlalu tinggi

Semua 16 komentar

Inti dari setFieldsValue adalah memanggil setState dari pembungkus luar, dan secara tidak langsung memanggil componentWillReceiveProps , jadi ini adalah infinite loop.

Silakan gunakan mapPropsToFields http://ant.design/components/form/#Form.create (opsi)

@benjycui terima kasih

mapPropsToFields mengonversi alat peraga ke nilai yang sesuai, yang dapat digunakan untuk membaca nilai di toko Redux
Fungsi (alat peraga): Objek{ fieldName: Objek{ nilai } }
Saya tidak melihat bagaimana saya ingin menulis di mapPropsToFields

Hai, apakah ada cara untuk menerjemahkan konversi ini?

@bnlambert Apa pertanyaanmu?

Saya ingin melihat cara mengatur nilai awal dengan setFieldsValue .

Juga kalender datepicker saya muncul dalam bahasa Cina; bagaimana cara memperbaikinya?

Anda dapat mencoba moment.locale('en');

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

Apakah saya memerlukan momen dari 'antd' atau saya perlu mengunduhnya secara terpisah?.
Harap sedikit lebih eksplisit. Terima kasih

Di situs web Anda, ada catatan ini untuk 'setFieldsValue'

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

Ini menautkan ke halaman ini untuk apa yang saya anggap sebagai penjelasan. Bisakah kami mendapatkan semacam terjemahan jika memungkinkan?

Terima kasih

@coljung coba penerjemah Google.

@bnlambert @coljung atau jika Anda menggunakan chrome, klik kanan -> terjemahkan ke bahasa Inggris

Saya dapat memahami bahwa beberapa masalah ditulis dalam bahasa Mandarin untuk komunikasi yang nyaman/lebih cepat antara pengelola, tetapi yang ini dirujuk dalam dokumentasi resmi, ini adalah "bagian darinya" sehingga harus diterjemahkan.
Alternatif: informasi yang tertulis di sini harus disertakan dalam dokumentasi resmi.

@benjycui IMO "coba penerjemah Google" bukanlah komentar yang membangun dan melanggar beberapa aturan perilaku yang disebutkan dalam CODE_OF_CONDUCT.md

  • Menggunakan bahasa yang ramah dan inklusif
  • Menghargai perbedaan sudut pandang dan pengalaman
  • Menerima kritik yang membangun dengan lapang dada
  • Berfokus pada apa yang terbaik untuk masyarakat
  • Menunjukkan empati terhadap anggota komunitas lainnya

Kepada 9 orang yang bereaksi dengan ":smile:": Anda jelas bilingual, berapa lama waktu yang dibutuhkan untuk Google Terjemahan konten, sesuaikan terjemahan jika diperlukan berkat kemampuan bahasa Anda dan tempel konten di sini ?

Yang telah dibilang:

  1. OP menjelaskan masalahnya: Memanggil setFieldsValue di componentWillReceivedProps menyebabkan loop yang akhirnya berhenti setelah 1 menit. Setiap perubahan bidang menyebabkan loop "tak terbatas" baru.
  2. pengelola menjawab bahwa setFieldsValue mengarah ke this.setState di HOC, jadi itu mengubah props dan secara langsung menyebabkan metode componentWillReceiveProps Anda dipanggil. Itu sebabnya ada lingkaran. Kita harus menggunakan mapPropsToFields .
  3. OP berterima kasih kepada pengelola
  4. Pertanyaan lain (tidak terjawab) diajukan. mapPropsToFields digunakan untuk membaca data dari toko, bagaimana saya bisa menulis di dalamnya?

Formulir ini sangat sulit digunakan, dan biaya penggunaannya setelah pengemasan terlalu tinggi

mapPropsToFields dan unggah konflik unggah akan mengatur ulang formulir

Apakah halaman ini membantu?
0 / 5 - 0 peringkat