el-checkbox-group?的v-model無法綁定對象數(shù)組的問題解決
elementUI官方文檔中el-checkbox-group組件綁定的都為一維數(shù)組,真實業(yè)務中數(shù)據(jù)綁定往往是多個鍵值對的對象數(shù)組,本文主要解決這個問題。
如下代碼:
<el-checkbox-group class="title-list" v-model="selTitles" @change='selchange' > <el-checkbox class="titles" v-for='(allItem, allItemIndex) in allTitles' :label="allItem" :key="allItem.value">{{allItem.lable}}</el-checkbox> </el-checkbox-group> data?()?{ ????return?{ ??????selTitles:?[{ ??????????value:?'sex', ??????????lable:?'性別' ????????},{ ??????????value:?'status', ??????????lable:?'檢查狀態(tài)' ????????},],?//?已選擇列 ??????allTitles:?[ ????????{ ??????????value:?'status', ??????????lable:?'檢查狀態(tài)' ????????}, ????????{ ??????????value:?'name', ??????????lable:?'姓名', ????????}, ????????{ ??????????value:?'sex', ??????????lable:?'性別' ????????}, ????????{ ??????????value:?'age', ??????????lable:?'年齡' ????????} ??????],?//?全部列 ????}; ??}
直接將el-checkbox的lable屬性綁定為數(shù)組的每一項元素,在chang事件selchange中就能獲取到被選中項目的全信息,包括value、label,此時會發(fā)現(xiàn)設置初始選中選項會設置不上,并且初始設入selTitles中的選項,頁面顯示并未選中,但勾選時第一次勾選不上,第二次才能勾選上,由此現(xiàn)象認為可能是elementui的bug,或者說人組件庫壓根就不支持el-checkbox-group組件綁定的對象數(shù)組,但每次選擇項目改變還需要轉換下數(shù)據(jù)實在是腦殼疼,所有就想著直接改組件庫底層代碼豈不快哉!
初始設入selTitles中的選項,勾選時第一次勾選不上,第二次才能勾選上,猜想可能數(shù)據(jù)已經(jīng)設入被選項了,只是頁面未顯示選中,審查元素發(fā)現(xiàn)有個is-checked控制頁面顯示選中,于是捋到了源碼中的如下代碼:
更改步驟
1、從github上獲取elementUI源碼,安裝依賴,
2、將上圖兩個組件(packages\checkbox\src\目錄中)中畫紅框代碼換為如下代碼即可
return this.model.indexOf(this.label) > -1 || JSON.stringify(this.model).indexOf(JSON.stringify(this.label)) > -1;
3、運行命令:npm run dist,將生成的lib包替換項目node-module的elementui 文件夾中的lib
到此這篇關于解決el-checkbox-group 的v-model無法綁定對象數(shù)組的文章就介紹到這了,更多相關解決el-checkbox-group 的v-model無法綁定對象數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Vue如何進行表單聯(lián)動與級聯(lián)選擇
表單聯(lián)動和級聯(lián)選擇是Vue.js中常見的功能,在下面的文章中,我們將討論如何在Vue.js中實現(xiàn)表單聯(lián)動和級聯(lián)選擇,感興趣的小伙伴可以了解一下2023-06-06如何使用vue-pdf-embed實現(xiàn)PDF在線預覽
vue-pdf-embed是一個基于Vue.js的插件,專門用于在Vue應用中嵌入和展示PDF文件,本文將使用vue-pdf-embed實現(xiàn)PDF在線預覽功能,有需要的小伙伴可以參考一下2025-03-03vue.js 打包時出現(xiàn)空白頁和路徑錯誤問題及解決方法
這篇文章主要介紹了vue.js 打包時出現(xiàn)空白頁和路徑錯誤問題及解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06解決vue的變量在settimeout內(nèi)部效果失效的問題
今天小編就為大家分享一篇解決vue的變量在settimeout內(nèi)部效果失效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08詳解vue2.0+vue-video-player實現(xiàn)hls播放全過程
這篇文章主要介紹了詳解vue2.0+vue-video-player實現(xiàn)hls播放全過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03Vue3的provide和inject實現(xiàn)多級傳遞的原理解析
Vue3中的provide和inject函數(shù)通過原型鏈實現(xiàn)數(shù)據(jù)的多級傳遞,父組件使用provide注入數(shù)據(jù),子組件和后代組件通過inject獲取這些數(shù)據(jù),在創(chuàng)建組件實例時,子組件會繼承父組件的provides屬性對象,介紹Vue3的provide和inject實現(xiàn)多級傳遞的原理,需要的朋友可以參考下2024-12-12