element編輯表單el-radio回顯之后無法選擇的問題解決
前言
提前說明哦,這是一篇很基礎(chǔ)類的文章,只適合小小白閱讀,因?yàn)橐韵挛恼聝?nèi)容來源于我剛?cè)胄袝r(shí)的筆記。各位高人請(qǐng)繞道,避免浪費(fèi)時(shí)間,謝謝~
今天主要來談一下element-ui編輯表單中的el-radio回顯之后無法選擇的問題,主要涉及到vue的雙向綁定,以及element-ui編輯表單中的el-radio的默認(rèn)類型。
問題
這是一個(gè)困擾了我半上午的bug,表單樣式及代碼如下。
問題是回顯數(shù)據(jù)之后,當(dāng)我點(diǎn)擊其他的radio想要選擇的時(shí)候,勾選不了。
在網(wǎng)上找到了一樣的問題,有解決方案,同樣沒有找到原因。
網(wǎng)上的解決方案
原本是把從后臺(tái)得到的數(shù)據(jù)res.data直接賦值給editPowerForm,現(xiàn)在需要先把res.data賦值給let obj,然后再由obj賦值給editPowerForm,就可以了。
原因是editPowerForm沒有聲明radio這一變量,vue中對(duì)數(shù)據(jù)雙向綁定的支持限于基本添加刪除的方法,詳情看官網(wǎng)。在這里相當(dāng)于直接賦值給未聲明的變量,所以雙向綁定不會(huì)被vue監(jiān)聽,即沒有刷新。而先賦值給obj,相當(dāng)于radio在被賦值前已經(jīng)被聲明了,所以可以被雙向綁定監(jiān)聽到。
說的有點(diǎn)繞,總之就是對(duì)象的某個(gè)屬性要先被創(chuàng)建,才能被vue雙向綁定監(jiān)聽到。
還有需要注意的是:
radio的值默認(rèn)應(yīng)該是string類型,如果后臺(tái)返回的值是int類型,radio同樣不會(huì)默認(rèn)選中。
總所周知,在引用js對(duì)象時(shí),引用的其實(shí)是一個(gè)索引地址,也因此前端才延伸出深拷貝淺拷貝的所在,當(dāng)對(duì)象內(nèi)只發(fā)生改變時(shí),索引值其實(shí)是不變的,即舊值與新值相同,因?yàn)樗鼈兯饕赶虻亩际峭粋€(gè)對(duì)象。
其實(shí)直接使用$set,或者watch進(jìn)行深度監(jiān)聽也是可以的。慶幸的是,現(xiàn)在vue3中使用proxy代理來實(shí)現(xiàn)雙向綁定,再也不用擔(dān)心數(shù)組/對(duì)象發(fā)生變化卻監(jiān)聽不到的問題了!
到此這篇關(guān)于element編輯表單el-radio回顯之后無法選擇的問題解決的文章就介紹到這了,更多相關(guān)el-radio回顯無法選擇內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中使用Echarts?map圖實(shí)現(xiàn)下鉆至縣級(jí)的思路詳解
這篇文章主要介紹了vue中使用Echarts?map圖實(shí)現(xiàn)下鉆至縣級(jí),需要注意的是,因?yàn)槲沂侵苯訌?vue-cli2?直接跳到?vue-cli4?,還奇怪怎么讀取不到JSON,查找后才知道?vue-cli3?往后的項(xiàng)目基礎(chǔ)架構(gòu)對(duì)比舊版本有些區(qū)別,感興趣的朋友跟隨小編一起看看吧2022-01-01vue-cli 3.0 版本與3.0以下版本在搭建項(xiàng)目時(shí)的區(qū)別詳解
這篇文章主要介紹了vue-cli 3.0 版本與3.0以下版本在搭建項(xiàng)目時(shí)的區(qū)別詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12Vue中rem與postcss-pxtorem的應(yīng)用詳解
這篇文章主要介紹了Vue中rem與postcss-pxtorem的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11vue 實(shí)現(xiàn)通過手機(jī)發(fā)送短信驗(yàn)證碼注冊(cè)功能
這篇文章主要介紹了vue 實(shí)現(xiàn)通過手機(jī)發(fā)送短信驗(yàn)證碼注冊(cè)功能的相關(guān)資料,需要的朋友可以參考下2018-04-04VUE引入DataV報(bào)錯(cuò)解決實(shí)戰(zhàn)記錄
在使用vue開發(fā)大屏?xí)r,發(fā)現(xiàn)了一個(gè)很好用的可視化組件庫(kù)DataV,下面這篇文章主要給大家介紹了關(guān)于VUE引入DataV報(bào)錯(cuò)解決的實(shí)戰(zhàn)記錄,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04