使用Element時(shí)默認(rèn)勾選表格toggleRowSelection方式
Element時(shí)默認(rèn)勾選表格toggleRowSelection
頁(yè)面效果
在頁(yè)面初始化加載時(shí)將表格中某行默認(rèn)選中

使用方法:toggleRowSelection
| 方法名 | 說(shuō)明 | 參數(shù) |
|---|---|---|
| toggleRowSelection | 用于多選表格,切換某一行的選中狀態(tài),如果使用了第二個(gè)參數(shù),則是設(shè)置這一行選中與否(selected 為 true 則選中) | row, selected |
table表格渲染
方法名說(shuō)明參數(shù)toggleRowSelection用于多選表格,切換某一行的選中狀態(tài),如果使用了第二個(gè)參數(shù),則是設(shè)置這一行選中與否(selected 為 true 則選中)row, selectedtable表格渲染
<el-table :data="listPowerSupplyTab" border ref="listPowerSupplyTab" width="100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55">
</el-table-column>
<el-table-column
prop="powerSupplyStationName"
label="供電所名稱"
width="180">
</el-table-column>
<el-table-column
prop="powerSupplyStationAddress"
label="供電所地址"
width="180">
</el-table-column>
<el-table-column
prop="contacts"
label="聯(lián)系人">
</el-table-column>
<el-table-column
prop="telephone"
label="電話">
</el-table-column>
<el-table-column
prop="powerSupplyMode"
label="供電方式 ">
</el-table-column>
<el-table-column
prop="capacity"
label="配電容量 ">
</el-table-column>
<el-table-column
prop="subordinatePowerSupplyBureau"
label="所屬供電局 ">
</el-table-column>
</el-table>
注意:
1、注意el-table上有一個(gè)ref="listPowerSupplyTab"的屬性
2、toggleRowSelection(row, selected)接受兩個(gè)參數(shù),row傳遞被勾選行的數(shù)據(jù),selected設(shè)置是否選中
使用watch監(jiān)聽listPowerSupplyTab數(shù)據(jù)
watch:{
listPowerSupplyTab(n,o){
this.$nextTick( ()=> {
this.$refs.listPowerSupplyTab.toggleRowSelection(this.listPowerSupplyTab[0],true);
})
},
},
ref引用到Dom元素上,再執(zhí)行dom上的toggleRowSelection方法。
當(dāng)頁(yè)面有隱藏顯示的tab頁(yè)簽時(shí)
因?yàn)橐淮涡约虞d數(shù)據(jù),因而監(jiān)聽active的變化
watch:{
//監(jiān)聽active
active: {
handler(n,o){
this.$nextTick(()=> {
if(n == '6'){
this.listPowerSupplyTabNew.forEach((ele,indexItem) => {
if(ele.type=='1'){
this.$refs.listPowerSupplyTabRef.toggleRowSelection(ele);
}
})
}else if(n == '7'){
this.technicalInformationNew.forEach((ele,indexItem) => {
if(ele.type=='1'){
this.$refs.technicalInformationNewRef.toggleRowSelection(ele);
}
})
}
})
},
immediate: true,
deep: true
},
},
element表格默認(rèn)勾選不生效的問(wèn)題
默認(rèn)勾選可以這樣做

this.$refs.multipleTable.toggleRowSelection(row);
如果不生效的話,一般需要考慮這幾種情況
1、獲取數(shù)據(jù)(選中的數(shù)據(jù)以及表格展示的數(shù)據(jù))這里的兩個(gè)數(shù)據(jù)必須是同一個(gè)對(duì)象的數(shù)據(jù),也就是數(shù)據(jù)必須是表格當(dāng)中的數(shù)據(jù),而且 不能深拷貝
2、設(shè)置表格數(shù)據(jù)
3、設(shè)置完成后,一般我們都是獲取到后端的代碼再設(shè)置this.$refs.multipleTable.toggleRowSelection(row);
這里還要加一個(gè)$nextTick
具體代碼如下:
/**
* @description: 獲取表格數(shù)據(jù)
* @param {String} code
* @param {String} srcType
*/
async getTableData(code, srcType) {
try {
this.tipContent = 'loading'
const { result } = await querySubTabDefine({
tableSrcType: srcType,
subjectCode: code
})
for (const item of result) {
item.select = item.flag === '1'
}
this.tableData = result
this.$nextTick(() => {
for (const row of this.tableData) {
row.select && this.$refs.table.toggleRowSelection(row, true)
}
})
// console.log(selectArr)
this.tipContent = this.tableData.length ? false : 'empty'
this.layoutTable()
} catch (error) {
console.error(error)
this.tipContent = 'error'
this.tableData = []
}
},
其中最主要是這一步
this.$nextTick(() => {
for (const row of this.tableData) {
row.select && this.$refs.table.toggleRowSelection(row, true)
}
})
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 關(guān)于Element-ui中table默認(rèn)選中toggleRowSelection問(wèn)題
- ElementUI之表格toggleRowSelection選中踩坑記錄
- elementui[el-table]toggleRowSelection默認(rèn)多選事件無(wú)法選中問(wèn)題
- elementUI表格多選框this.$refs.xxx.toggleRowSelection無(wú)效問(wèn)題
- Element 默認(rèn)勾選表格 toggleRowSelection的實(shí)現(xiàn)
- element-ui中table組件的toggleRowSelection()方法使用
相關(guān)文章
Element基于el-input數(shù)字范圍輸入框的實(shí)現(xiàn)
本文主要介紹了?Element基于el-input數(shù)字范圍輸入框的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
vue中使用 pako.js 解密 gzip加密字符串的方法
這篇文章主要介紹了vue項(xiàng)目中 使用 pako.js 解密 gzip加密字符串 的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
element中el-table與el-form同用并校驗(yàn)
本文主要介紹了element中el-table與el-form同用并校驗(yàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
使用Vue-cli 3.0搭建Vue項(xiàng)目的方法
這篇文章主要介紹了使用Vue-cli 3.0搭建Vue項(xiàng)目的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Vue3.0利用vue-grid-layout插件實(shí)現(xiàn)拖拽布局
這篇文章主要介紹了Vue3.0利用vue-grid-layout插件實(shí)現(xiàn)拖拽布局,工作中難免遇到需要對(duì)頁(yè)面布局進(jìn)行拖拽然后改變布局,保存布局,下面文章就圍繞Vue3.0利用vue-grid-layout插件實(shí)現(xiàn)拖拽布局的相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下2021-11-11

