element ui Tree树形控件

  1. lazy 是否懒加载子节点,需与 load 方法结合使用 boolean 默认为false
  2. load 加载子树数据的方法,仅当 lazy 属性为true 时生效 function(node, resolve)
  3. 使用懒加载load不需要再使用data,利用resolve返回值即可
  4. 注意:第一层的数据要写在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);
        }
      }
 }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值