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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值