element的折叠面板如何默认全部打开? 每条数据都是遍历出来的,我本来是点击每一栏,触发方法给tabledata表格赋值,但现在领导要我实现全部默认展开,咋实现啊?数据条数又不是固定的,我现在所有table共用一个tabledata对象,默认全部展开的话,肯定不能共用一个tabledata对象了,但条数不固定,不知道创建几个tabledata对象,而且element默认全部展开好像也不好实现,问问大佬,咋
实现啊。
我写了个demo
1.tabledata到底有多少个 ,可以通过遍历数组tableDataArr来得到,这样声明一个存放tableData的数组就好了
2.全部展开,可以通过控制activeNames的值来控制
<el-collapse v-model="activeNames">
<el-collapse-item title="表格" v-for="item in tableDataArr" :key="item" :name="item">
<div>tableData{{item}}</div>
</el-collapse-item>
</el-collapse>
data中:
res:[
{
res1:'data1'
},
{
res2:'data2'
},
{
res3:'data3'
},
{
res4:'data4'
},
{
res4:'data5'
}],
tableDataArr:[],
activeNames: ['1']
处理方法中:
for(var key in this.res){
this.tableDataArr.push(key+'');
}
this.activeNames = this.tableDataArr;
我也有类似的需求,最后通过操作dom实现的,需要的话我可以把代码贴上来
mounted() {
this.$nextTick(function() {
setTimeout(_ => {
this.display();
}, 1000); //这个定时器按照实际情况来加
});
},
display() {
var list = document.getElementsByClassName('el-table__row--level-1');
var iconList = document.getElementsByClassName('el-table__expand-icon')
var i;
for (i = 0; i<list.length; i++) {
list[i].style.cssText = '';
iconList[i].className += ' el-table__expand-icon--expanded';
}
},