JS001. antd vue遍歷setFieldsValue表單鍵值對無效 ( {} -> new Object() )


問題代碼:

const tempFieldsValue = this.form.getFieldsValue()
  Object.keys(tempFieldsValue).map((k) => {
  if(typeof(tempFieldsValue[k]) === 'string' && tempFieldsValue[k].indexOf('---') !== -1) {
    this.form.setFieldsValue({ k: undefined })
  }
})

 

原因是 “{ }”本身是一個 new Object() 的語法糖,如果寫成{ k: undefined },k 將會被解析成一個新的鍵,等同於聲明了一個新的變量,它不會指向map函數中的item.

setFieldsValue並非不生效,只是作用在了鍵為“ k ”的表單項中,我在HTML中增加了一個鍵為k的表單項,通過這行語句果然改變了這個表單項的值,

 

this.form.setFieldsValue({ [k]: undefined })

將第4行改成  [ k ] 來改變“ k ”的指向  ,使得它能獲取到map( )函數item的值。

 


基礎語法很重要

 

- END -


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM