问题描述:在vue中使用element的树形表格时,想要在页面初始化时就默认收起树形表格下拉,但是实际开发过程中在表格中设置
default-expand-all属性之后表格并不起效果,也就是页面初始化之后树形列表仍旧都是展开的,这就很不合理;如果数据较少的话还可以接受,但是如果数据很多,而用户迫切的想要通过顶级列表进行一系列操作,而给用户初始化看到的却是全部展开的列表,搁谁谁不烦!!!
default-expand-all属性确是是可以收起树形表格的,但是它起作用的时机为表格初始化时。但是在实际开发过程中表格的数据获取是异步的,也就是说,在数据来到表格之前,这个属性已经走完了它的流程,而当数据来到之后,就不在生效;即:只有初始化的时候是生效的,动态修改无效的。
每修改一次就让表格初始化一下
<el-button type="primary" @click="isFold = !isFold"
><i class="el-icon-sort" style="transform: rotate(90deg)">i>
展开/折叠
el-button>
isFold:控制展开/折叠,
menuTable:用来二次初始化表格
<el-table
v-if="menuTable"
:data="tableData"
border
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
v-loading="loading"
:default-expand-all="isFold"
>
data() {
return {
isFold: true,
menuTable: null,
}
}
watch: {
isFold() {
this.menuTable = false;
this.$nextTick(() => {
this.menuTable = true;
});
},
},