vue:下拉树结构,el-select实现

2 篇文章 0 订阅
1 篇文章 0 订阅

下拉框框内显示的选项为树结构加载,效果如下图显示:

在这里插入图片描述
前端html代码

<el-select ref="select" v-model="selectName" placeholder="请选择区域" clearable >
   <div class="put">
     <el-input
       v-model="searchAreaVale"
       placeholder="请输入搜索区域关键字"
       suffix-icon="h-icon-search"
       clearable
       @click="handleIconClick"
     ></el-input>
   </div>
   <el-option key="id" hidden :value="selectVal" :label="selectName" />
   <div class="h-tree">
     <el-tree
       style="padding: 0px 10px 10px 0px"
       :data.sync="optionsMetaAll"
       :props="defaultProps"
       node-key="code"
       parent-key="parentId"
       simple-data
       lazy
       :load="loadTree"
       @node-click="handleNodeClick"
     ></el-tree>
   </div>
 </el-select>

主要实现思路,通过 hidden 去隐藏下来框已有的选项卡,然后再去自定义自己的样式,点击树结构的节点,或者其他操作想收回下拉框时候,调用el-selecthandleClose()函数,即可收回下拉框,我自己的业务逻辑为点击树节点,选中即可收回

/**此操作的回调为树结构的api,不明白可以查看树结构api*/
handleNodeClick(data, node) {
   if (node.isLeaf == false) {
   	return
   }
   /**
   * 将选中的值显示到下拉选择框上,并收回下拉框
   */
   this.selectVal = data.name // select绑定值为点击的选项的value
   this.selectName = data.name // input中显示值为label
   this.treeFilter = '' // 点击后搜索框清空
   this.searchAreaVale = '' //清空搜索项
   this.$refs.select.handleClose() // 点击后关闭下拉框,因为点击树形控件后select不会自动折叠
},
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值