el-table 指定层级展开

先来看看页面默认全部展开时页面的显示效果:所有节点被展开,一眼望去杂乱无章!

el-table 指定层级展开_第1张图片

那么如何实现只展开指定的节点呢?最终效果如下:一眼看去很舒爽。 

el-table 指定层级展开_第2张图片

干货上代码:


    
    
    
        
    
    
    
        
    
    
        
    

 核心代码注意:这三个属性,一定要注意使用。id即接口给你返回的每个节点的id,具体看你后端接口返回的命名。

row-key="id" 
:default-expand-all="isExpandAll" 
:expand-row-keys="expandRowKeysList"

isExpandAll在data中默认为false意为不要全部默认展开,即全部自动收起。否则指定展开无效。

isExpandAll:false

再来看看被展开节点的设置:将要展开节点的id放入expandRowKeysList数组中。

:expand-row-keys="expandRowKeysList"
data(){
    return {
        isExpandAll:false
//table哪些行默认开展
        expandRowKeysList:[]
    }
}

 调用接口:

methods: {
/** 查询项目来源列表 */
    getList() {
        let self = this
        listSource(this.queryParams).then(response => {
            this.sourceList = this.handleTree(response.data, "id", "pid");
            this.sourceList.forEach(element => 
            {
                self.expandRowKeysList.push(element.id + '')
            });
        });
    },
}

默认展开一级。如果你默认展开第二级,则修改以上代码,将二级节点的id压入数组中即可。 

你可能感兴趣的:(vue.js,elementui,javascript)