vue el-tree 默认展开第一个节点

6 篇文章 0 订阅

vue 的树形控件 el-tree 可以用来方便地实现树形控件,但是官方文档中,关于控件的默认展开只有默认展开全部或者默认全部关闭,如下所示:
在这里插入图片描述
对于指定节点的展开,需要指定其id,从而通过 default-expanded-keys 设置默认展开的节点。
对于后台返回的数据,默认展开其第一层的第一个,其实很简单:对于获取到的后台数据,将其第一层节点添加到数组中,将 default-expanded-keys 绑定数组,从而设置默认展开的节点。
实际应用:默认展开第一层节点中的第一个节点:

<template>
  <section>
    <!-- 机构类型编码表 -->
    <el-row class="toolbar" style="width: 20%;height:600px" align="left">
      <div class='treeClass'>
        <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"
         highlight-current node-key="id" :default-expanded-keys="treeExpandData">
        </el-tree>
      </div>
    </el-row>
  </section>
</template>
<script>
export default {
    data() {
      return {
        treeData:[], //后台返回的tree树列表
        treeExpandData:[], //自己定义的用于接收tree树id的数组
        provincialCenterId:'',
        defaultProps: {
          children: 'item',
          label: 'name',
        },
       }
    },
     created(){
      this.getEquipmentList()
    },
     methods: {
      // 获取树形结构默认展开节点
      getRoleTreeRootNode(provincialCenterId) {
        this.treeExpandData.push(provincialCenterId)      
        },
     //获取tree树列表
     getEquipmentList: function(params){
        this.listLoading = true
        this.$api.ckApi.treeList({typeTag:true}).then((res)=>{
          if(res.code==200){
            this.treeData = res.resultDownload;
            this.provincialCenterId = this.treeData[0].id //默认展开第一个节点
            this.getRoleTreeRootNode(this.provincialCenterId)
            this.listLoading = false
          }else{
            this.$message.error(res)
          }
        })
      },
     }
</script>

效果图:
在这里插入图片描述

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值