elementUI实现下拉选择树

1、用select+tree实现
效果:
在这里插入图片描述
关键代码:

heml部分:
	<el-select v-model="selectObj.name" placeholder="请选择"  style="width: 300px" ref="selectReport">
      <el-option :value="selectObj.id" :label="selectObj.name" style="width: 300px;height:200px;overflow: auto;background-color:#fff">
        <el-tree
          :data="treeData"
          :props="defaultProps"
          @node-click="handleNodeClick"
        ></el-tree>
      </el-option>
    </el-select>
    
    js部分:
 /**
       * @description    树点击事件
       * @author  mistywood
       * @Datetime  2020/4/4 11:20
       */
      handleNodeClick:function(node){
        if(node.children){

        }else{
          this.selectObj.id = node.label
          this.selectObj.name = node.label
          this.$refs.selectReport.blur()
        }
      }

2、用popover,tree,input实现
效果:
在这里插入图片描述
关键代码:

html部分:
   <el-popover
      placement="bottom-start"
      v-model="treeFlag"
      class="orgTree"
      width="300"
      trigger="click">
      <el-tree
        :data="treeData"
        :props="defaultProps"
        :expand-on-click-node="false"
        node-key="id"
        style="width: 300px;"
        default-expand-all
        @node-click="handleNodeClickDep"
      ></el-tree>
      <el-input
        slot="reference"
        ref="input"
        v-model="name"
        clearable
        :readonly="true"
        style="width: 300px"
        suffix-icon="el-icon-arrow-down"
        placeholder="请选择"
      >
      </el-input>
    </el-popover>

js部分:
      /**
       * @description    下拉树点击事件
       * @author  mistywood
       * @Datetime  2020/4/3 11:20
       */
      handleNodeClickDep(val) {
        this.name = val.label;
        this.treeFlag = false;
      },
   
</script>

element-ui提供了el-select下拉选择器组件,但是并未提供选择器的功能。因此,有开发者自己封装了element-ui的select选择框组件来处理状数据的选择。具体使用方法可以参考这个封装的组件的代码 。这个组件使用了el-select和el-option来实现下拉选择框,同时在el-option中使用了el-tree组件来展示状数据。你可以根据实际需求进行相应的修改和定制。在这个组件中,还提供了一些新增的功能,比如搜索栏及状结构懒加载以及多选时的二次点击已选内容的处理。这些功能的具体实现可以参考相关的代码和效果图。总结来说,通过封装element-ui的select选择框组件,可以实现选择器的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [< elementUi 下拉选择框组件 状部门选择( 多选/单选 )>](https://blog.csdn.net/MrWen2395772383/article/details/124043096)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [element-ui之el-select下拉选择选择器的使用方法](https://blog.csdn.net/m0_46156566/article/details/128484832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值