elementUI中怎么结合el-select与el-tree组件

作者:有用网 阅读量:202 发布时间:2024-01-13
关键字 elementui

这篇文章主要介绍了elementUI中怎么结合el-select与el-tree组件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇elementUI中怎么结合el-select与el-tree组件文章都会有所收获,下面我们一起来看看吧。

前言

要求根据项目接口提供的数据,el-tree 里的数据是一次性返回来的,点击最后一层级时,请求接口,在点击层级下方追加数据追加的数据要显示勾选框,可进行勾选,且是单选勾选后需要返回勾选的层级以及它的父级

实现效果如下:

elementUI中怎么结合el-select与el-tree组件

数据回显效果:

elementUI中怎么结合el-select与el-tree组件

实现关键部分

el-tree里的显示勾选框不符合当前“追加的数据要显示勾选框,可进行勾选”这个需求,所以我修改了el-tree的源码进行使用。

追加子级数据,el-tree 文档提供了这个这个方法,可以追加子级

elementUI中怎么结合el-select与el-tree组件

数据对象里有指定字段才显示勾选框,这里我指定字段为 currentShowCheck,数据追加的时候把指定需要显示勾选框的字段加上

let data=[
  {
    label:'追加1',
    currentShowCheck:true
   },
   {
     label:'追加2',
     currentShowCheck:true
    }
  ]

elementUI中怎么结合el-select与el-tree组件

修改源码,数据中有 currentShowCheck 字段的则显示 checkbox

<!--            显示 checkbox  有指定字段才显示   checkbox  currentShowCheck-->
      <el-checkbox
          v-if = "showCheckbox && node.data.currentShowCheck"
	  v-model="node.checked"
	  :indeterminate="node.indeterminate"
	  :disabled="!!node.disabled"
	  @click.native.stop
	  @change="handleCheckChange
>
</el-checkbox>
<span
   v-if="node.loading"
   class="el-tree-node__loading-icon el-icon-loading">
 </span>
 <node-content : node="node"></node-content>

elementUI中怎么结合el-select与el-tree组件


#发表评论
提交评论