You cannot set a form field before rendering a field associated with the value.

ant design pro of vue自定義了編輯modal,當點擊編輯按鈕時,第一次獲取不到值。但是第二次點就有值了,並且瀏覽器有警告

You cannot set a form field before rendering a field associated with the value. 大概是說不能再渲染前對field進行賦值,解決辦法如下:

this.$nextTick(() => {
  this.form.setFieldsValue({
  name: record.name,
  memo: record.memo,
  id: record.id

  })
})

nextTick大概可以理解爲

created()鉤子函數執行的時候DOM 其實並未進行任何渲染,而此時進行DOM操作無異於徒勞,所以此處一定要將DOM操作的js代碼放進Vue.nextTick()的回調函數中。與之對應的就是mounted()鉤子函數,因爲該鉤子函數執行時所有的DOM掛載和渲染都已完成,此時在該鉤子函數中進行任何DOM操作都不會有問題 。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章