1. 程式人生 > 程式設計 >解決antd的Form元件setFieldsValue的警告問題

解決antd的Form元件setFieldsValue的警告問題

記住:setFieldsValue的欄位要對應得上

解決antd的Form元件setFieldsValue的警告

使用antd的Form元件setFieldsValue可能會出現You cannot set a form field before rendering a field associated with the value.警告,字面意義去看是說在 render之前設定了表單值的問題。

解決

在使用setFieldsValue給表單Form的某一個filed賦值時,可能摻雜了非表單控制元件中的欄位,Form表單在賦值和渲染時發現有些欄位無法渲染在現有的欄位(因為不存在),所以就會報出這樣的錯誤提示

所以在使用this.form.setFieldsValue時,賦值的資料要一一匹配field,用不到的不要賦值即可,這樣操作之後錯誤提示就不再提醒了。

補充知識:解決antd vue中使用setFieldsValue報錯“You cannot set a form field before rendering a field associated with ”

一、報錯現象

1.在使用antd vue框架中的表單api時,出現了一個warning警告,雖說不影響程式執行,不過咱還是能不報錯和警告就不報錯和警告

——“You cannot set a form field before rendering a field associated with ”

2.場景

在後臺管理系統中渲染列表資料,點選列表中的——編輯按鈕——呈現編輯頁面——此時頁面將會報錯,雖說後臺渲染的資料都渲染出來了

解決antd的Form元件setFieldsValue的警告問題

二、原因

this.props.form.form.setFieldsValue 傳值的時候只能是form中用到的引數(即是getFieldDecorator方法中的field)沒有的field一律不允許多傳,否則就會報錯

即:當點選編輯按鈕時,出現頁面表單,且通過.setFieldsValue方法設定的當然是彈出的頁面表單的表單值,

即:其設定的只能是此表單中出現的值,不能多傳,否則將會報錯,雖說並不影響程式執行

所以原因:多傳遞了多餘的欄位,自己數數和測測,看看是否傳遞了沒有的欄位

以上這篇解決antd的Form元件setFieldsValue的警告問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。