el-table?選中行與復(fù)選框相互聯(lián)動(dòng)的實(shí)現(xiàn)步驟
需求:對(duì)el-table 選中行時(shí)復(fù)選框也被選中,選中復(fù)選框時(shí)觸發(fā)行的相應(yīng)變化(攏共分兩步)
步驟:
第一步:點(diǎn)擊行時(shí)觸發(fā)復(fù)選框的選擇或取消;
第二步:點(diǎn)擊復(fù)選框時(shí)觸發(fā)相應(yīng)行的變化(問(wèn)題關(guān)鍵在怎么獲取復(fù)選框選取的行)
1. 點(diǎn)擊行時(shí)觸發(fā)復(fù)選框的選擇或取消
// <template> <el-table class="right-panel-table" :data="tableData" @selection-change="(val) => handleSelectionChange(val,'ischeckboxTick')" ref="multipleTable" v-loading="planLoading" @cell-mouse-enter="handleMouseEnter" @cell-mouse-leave="handleMouseOut" @row-click="(row,column,event) => handleRowClick(row,column,event,'onclumn')" highlight-current-row > // <script> 添加row-click方法,點(diǎn)擊列表行時(shí)觸發(fā) handleRowClick(row,column,event, onclumn){ if(onclumn === 'onclumn') { this.isonClunm = true; } row.flag = !row.flag; this.$refs.multipleTable.toggleRowSelection(row, row.flag); if(row.flag) { this.selectSatitleLatLon(row); } else { this.unselectSatitleLatLon(row); } }
添加完以上代碼后,點(diǎn)擊行,相應(yīng)行前面的復(fù)選框會(huì)跟著選中或取消
2.點(diǎn)擊復(fù)選框時(shí)觸發(fā)相應(yīng)行的變化(問(wèn)題關(guān)鍵在怎么獲取復(fù)選框選取的行)
當(dāng)點(diǎn)擊列表行時(shí),先觸發(fā)row-click事件,然后再觸發(fā) selection-change事件,點(diǎn)擊復(fù)選框時(shí)只觸發(fā)selection-change事件,想要判斷出點(diǎn)擊復(fù)選框時(shí)觸發(fā)的是哪一行時(shí),則需要對(duì)上一次選中的列表項(xiàng)和這次選中的列表項(xiàng)對(duì)比
// template部分同上 // <script> handleSelectionChange(val, checkFlag) { let that = this; if(checkFlag === 'ischeckboxTick') { that.ischeckboxTick = true } // 獲取當(dāng)前增加的或者減少的那條數(shù)據(jù) let n = {}; let currentVal = []; val.forEach(item => { currentVal.push(item); }) if(val.length > that.multipleSelection.length) { // 增加時(shí)比之前不一樣的某個(gè)值 n = (val.filter(item => !that.multipleSelection.includes(item)))[0]; } else { // 減少時(shí)與之前不一樣的值 let oldSelect = []; that.multipleSelection.forEach(item => { oldSelect.push(item) }) if(val.length === 0) { n = that.multipleSelection[0]; } else { that.multipleSelection.forEach((item, index) => { let delIndex = 0; currentVal.forEach((item1, index1) => { if(item.sname === item1.sname && item.startTime === item1.startTime && item.endTime === item1.endTime) { delIndex = index; currentVal.splice(index1, 1); oldSelect.splice(delIndex, 1, ''); } }) }) oldSelect.forEach(item => { if(item !== '') { n = item } }) } } that.multipleSelection = val; // 選中的所有項(xiàng) that.isonClunm = false; that.ischeckboxTick = false; },
到此這篇關(guān)于el-table 選中行與復(fù)選框相互聯(lián)動(dòng)的文章就介紹到這了,更多相關(guān)el-table 復(fù)選框聯(lián)動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 關(guān)于extjs treepanel復(fù)選框選中父節(jié)點(diǎn)與子節(jié)點(diǎn)的問(wèn)題
- vue基于element-ui的三級(jí)CheckBox復(fù)選框功能的實(shí)現(xiàn)代碼
- vue+element UI實(shí)現(xiàn)樹(shù)形表格帶復(fù)選框的示例代碼
- vuejs+element UI table表格中實(shí)現(xiàn)禁用部分復(fù)選框的方法
- element的el-tree多選樹(shù)(復(fù)選框)父子節(jié)點(diǎn)關(guān)聯(lián)不關(guān)聯(lián)
- Vue3+ElementUI 多選框中復(fù)選框和名字點(diǎn)擊方法效果分離方法
- 使用element組件table表格實(shí)現(xiàn)某條件下復(fù)選框無(wú)法勾選
- Vue el-table復(fù)選框全部勾選及勾選回顯功能實(shí)現(xiàn)
- el-table表格點(diǎn)擊該行任意位置時(shí)也勾選上其前面的復(fù)選框
相關(guān)文章
解決vue中菜單再次點(diǎn)擊內(nèi)容不刷新問(wèn)題
當(dāng)elementUI中菜單打開(kāi)后,再次點(diǎn)擊不會(huì)刷新的問(wèn)題,導(dǎo)致菜單再次點(diǎn)擊不刷新的根本原因是頁(yè)面打開(kāi)后,再次打開(kāi)相同的頁(yè)面是不會(huì)刷新的,這應(yīng)該是框架的機(jī)制就是如此,小編整理了兩個(gè)比較不錯(cuò)的解決方法,需要的朋友可以參考下2023-08-08vue vantUI tab切換時(shí) list組件不觸發(fā)load事件的問(wèn)題及解決方法
這篇文章主要介紹了vue vantUI tab切換時(shí) list組件不觸發(fā)load事件的解決辦法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02使用Vue.$set()或者Object.assign()修改對(duì)象新增響應(yīng)式屬性的方法
vue代碼中,只要在data對(duì)象里定義的對(duì)象,賦值后,任意一個(gè)屬性值發(fā)生變化,視圖都會(huì)實(shí)時(shí)變化,這篇文章主要介紹了使用Vue.$set()或者Object.assign()修改對(duì)象新增響應(yīng)式屬性,需要的朋友可以參考下2022-12-12vue3中template使用ref無(wú)需.value原因解析
vue3的template中使用ref變量無(wú)需使用.value,還可以在事件處理器中進(jìn)行賦值操作時(shí),無(wú)需使用.value就可以直接修改ref變量的值,這篇文章主要介紹了原來(lái)vue3中template使用ref無(wú)需.value是因?yàn)檫@個(gè),需要的朋友可以參考下2024-06-06elementPlus組件之表格編輯并校驗(yàn)功能實(shí)現(xiàn)
本文詳細(xì)介紹了如何使用Element Plus組件實(shí)現(xiàn)表格的單條數(shù)據(jù)新增、編輯、刪除操作,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),代碼簡(jiǎn)單易懂,感興趣的朋友跟隨小編一起看看吧2024-12-12vue.js的狀態(tài)管理vuex中store的使用詳解
今天小編就為大家分享一篇vue.js的狀態(tài)管理vuex中store的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11