Vue中用element-ui封装的el-tree和el-select实现下拉树状多选,灵活自定义模糊查询、单选多选,默认选中值。

 <el-select v-model="selectAjlbMc" class="ajlbselect" ref="checkCaseType" :clearable="true" :multiple="true" placeholder="请选择" style="width:100%;" @clear="clearSelect" @remove-tag="clearSelect">
                                <el-input
                                  class="searchCaseLbbmInput"
                                  type="small"
                                  placeholder="输入关键字进行过滤"
                                  v-model="searchText"
                                  clearable>
                                </el-input>
                              <el-option :value="searchHighForm.ajlbbms" style="height: auto">
                                <el-tree v-if="lbbms.length" :data="lbbms" node-key="bm" ref="tree" show-checkbox class="caseTypesTree" :expand-on-click-node="true" highlight-current  :props="defaultProps" @check="handleCheckChange" :filter-node-method="filterNode"></el-tree>
                              </el-option>
                          </el-select>
data(){
return{
       selectAjlbMc:[],
       searchText:null,
       searchHighForm:{
           ajlbbms:[]
        },
      defaultProps:{
            "children":"children",
            "label":"mc"
            },
}
}
watch: {
      searchText(val) {
        this.$refs.tree.filter(val);
      }
    },
      filterNode(value, data) {
            if (!value) return true;
            return data.mc.indexOf(value) !== -1;
        },
  handleCheckChange(data,checked){
            let vm = this;
            vm.searchHighForm.ajlbbms = checked.checkedKeys;
            vm.selectAjlbMc = checked.checkedKeys.length?(checked.checkedKeys.length>1?[vm.bmmcs[checked.checkedKeys[0]],("+"+checked.checkedKeys.length-1)]:[vm.bmmcs[checked.checkedKeys[0]]]):[];
            console.log(data,checked)
        },
        clearSelect(){
            this.$refs.tree.setCheckedKeys([]);
            this.searchHighForm.ajlbbms = [];
            this.selectAjlbMc = [];
            this.getList();
        },

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值