使用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)聽(tīng)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)聽(tīng)active的變化
watch:{ //監(jiān)聽(tīng)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-04vue中使用 pako.js 解密 gzip加密字符串的方法
這篇文章主要介紹了vue項(xiàng)目中 使用 pako.js 解密 gzip加密字符串 的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06element中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)目的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Vue3.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)資料展開(kāi)詳細(xì)內(nèi)容,需要的朋友可以參考一下2021-11-11