Element 默認(rèn)勾選表格 toggleRowSelection的實(shí)現(xiàn)
官網(wǎng)盡管提供了toggleRowSelection方法,但沒(méi)有提供demo實(shí)例。
通過(guò)了解,結(jié)合vue的特殊屬性ref引用到Dom元素上,再執(zhí)行dom上的toggleRowSelection方法。
以下通過(guò)三種不同的數(shù)據(jù)來(lái)源實(shí)現(xiàn)table默認(rèn)勾選對(duì)應(yīng)的列:
1、固定寫在data數(shù)據(jù)里:
注意el-table上有一個(gè)ref="table"的屬性
<div id="app"> <template> <el-table :data="tableData3" border ref="table" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"> </el-table-column> <el-table-column label="日期" width="120"> <template scope="scope">{{ scope.row.date }}</template> </el-table-column> <el-table-column prop="name" label="姓名" width="120"> </el-table-column> <el-table-column prop="address" label="地址" show-overflow-tooltip> </el-table-column> </el-table> </template> <el-button type="primary" @click="get()">ajax</el-button> </div>
在勾子函數(shù)mounted里執(zhí)行checked方法,可以自行測(cè)試在實(shí)例掛載之前beforeMount和掛載后mounted均使用。
this.$refs.table.toggleRowSelection(this.tableData3[0],true);就是本文的默認(rèn)勾選的重點(diǎn),toggleRowSelection(row, selected)接受兩個(gè)參數(shù),row傳遞被勾選行的數(shù)據(jù),selected設(shè)置是否選中,這個(gè)官網(wǎng)寫得很清楚就不多說(shuō)了。
var Main = { data() { return { tableData3: [{ date: '2016-05-03', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-02', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-08', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-06', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-07', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }], multipleSelection: [] } }, mounted(){ this.checked();//每次更新了數(shù)據(jù),觸發(fā)這個(gè)函數(shù)即可。 }, methods: { checked(){ //首先el-table添加ref="table"引用標(biāo)識(shí) this.$refs.table.toggleRowSelection(this.tableData3[0],true); }, handleSelectionChange(val) { this.multipleSelection = val; } } } var Ctor = Vue.extend(Main) new Ctor().$mount('#app')
2、頁(yè)面一加載使用ajax獲得數(shù)據(jù):
這里使用定時(shí)器摸擬了一下。
var Main = { data() { return { tableData3: [], multipleSelection: [] } }, mounted(){ var _this = this; setTimeout(function(){ _this.tableData3 = [{ date: '2016-05-03', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-02', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-08', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-06', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-07', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }]; _this.$nextTick(function(){ _this.checked();//每次更新了數(shù)據(jù),觸發(fā)這個(gè)函數(shù)即可。 }); },3000); }, methods: { checked(){ //首先el-table添加ref="table"引用標(biāo)識(shí) this.$refs.table.toggleRowSelection(this.tableData3[0],true); }, handleSelectionChange(val) { this.multipleSelection = val; } } } var Ctor = Vue.extend(Main) new Ctor().$mount('#app')
3、一開(kāi)始并沒(méi)有數(shù)據(jù)時(shí):
var Main = { data() { return { tableData3: [], multipleSelection: [] } }, beforeMount() { }, methods: { checked(){ //首先el-table添加ref="table"引用標(biāo)識(shí) this.$refs.table.toggleRowSelection(this.tableData3[2],true); }, handleSelectionChange(val) { this.multipleSelection = val; }, get(){ var datas=[{ date: '2016-05-03', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-02', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-08', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-06', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }, { date: '2016-05-07', name: '王小虎', address: '上海市普陀區(qū)金沙江路 1518 弄' }]; this.tableData3 = datas; this.$nextTick(function(){ this.checked();//每次更新了數(shù)據(jù),觸發(fā)這個(gè)函數(shù)即可。 }) } } } var Ctor = Vue.extend(Main) new Ctor().$mount('#app')
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 關(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時(shí)默認(rèn)勾選表格toggleRowSelection方式
- element-ui中table組件的toggleRowSelection()方法使用
相關(guān)文章
vue3實(shí)現(xiàn)搜索項(xiàng)超過(guò)n行就折疊的思路詳解
我們?cè)谧隽斜聿樵兊臅r(shí)候,會(huì)有很多查詢項(xiàng),如何實(shí)現(xiàn)超過(guò)n行查詢項(xiàng)的時(shí)候自動(dòng)折疊起來(lái)呢?本文給大家分享vue3實(shí)現(xiàn)搜索項(xiàng)超過(guò)n行就折疊的思路詳解,感興趣的朋友一起看看吧2022-06-06Vue3項(xiàng)目中預(yù)覽并打印PDF的兩種方法
最近在項(xiàng)目開(kāi)發(fā)中碰到一個(gè)需求是在頁(yè)面中展示pdf預(yù)覽功能,下面這篇文章主要給大家介紹了關(guān)于Vue3項(xiàng)目中預(yù)覽并打印PDF的兩種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄
這篇文章主要介紹了前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06vue-cli3 取消eslint校驗(yàn)代碼的解決辦法
這篇文章主要介紹了vue-cli3 取消eslint校驗(yàn)代碼的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01解決vuejs 使用value in list 循環(huán)遍歷數(shù)組出現(xiàn)警告的問(wèn)題
今天小編就為大家分享一篇解決vuejs 使用value in list 循環(huán)遍歷數(shù)組出現(xiàn)警告的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09Vue2.0用 watch 觀察 prop 變化(不觸發(fā))
本篇文章主要介紹了Vue2.0用 watch 觀察 prop 變化(不觸發(fā)),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09