赞
踩
- lazy 是否懒加载子节点,需与 load 方法结合使用 boolean 默认为false
- load 加载子树数据的方法,仅当 lazy 属性为true 时生效 function(node, resolve)
- 使用懒加载load不需要再使用data,利用resolve返回值即可
- 注意:第一层的数据要写在node.level == 0
HTML部分
<el-tree
show-checkbox
node-key="id"
lazy //必须
:load="loadNode" //必须
:default-expand-all ="false"
:expand-on-click-node="false"
:render-content="renderContent">
</el-tree>
js部分
data(){ return{ props: { label: "name", //显示在页面上的值的属性名 children: "zones", //表示该组件的子节点数据存储在"zones"属性中 isLeaf: "leaf",//表示该组件的叶子节点数据存储在"leaf"属性中 } } }, computed:{ advertList(){ return this.$store.state.advert.advertList } methods:{ // 此处只举例了两层 loadNode(node, resolve) { //第一层 if (node.level === 0) { this.getAdveData(resolve); } //第二层 if (node.level == 1) { this.getchildData(node,resolve); } //其余返回空 ,一定要加这个判断,否则会一直执行懒加载函数 else{ return resolve([]) } }, //第一层的逻辑 async getAdveData(resolve){ try { await this.$store.dispatch('advert/getAdvert') return resolve( this.advertList); } catch (error) { console.warn(error); } }, //第二层的逻辑 async getchildData(node,resolve){ try { let params = {id:node.data.pid} await this.$store.dispatch('advert/getAdvert',params) return resolve( this.advertList); } catch (error) { console.warn(error); } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。