el-tree 与el-select结合数据加载,清空选择 收起列表

<div class="qhTree-main">
<el-select
style="text-overflow: ellipsis;"
  v-if="reLoad"
size="mini"
ref="selectTree"
v-model="checkName"
placeholder="请选择...">
<el-option :value="treeData" style="height: auto">
<el-tree
  ref="tree"
  lazy
  show-checkbox
  :load="loadFolder"
  check-strictly
  node-key="id"
  empty-text="无匹配数据"
  :props="{children: 'children',label: 'name',isLeaf: 'leaf'}"
  @check-change="handleCheckChange"
/>
</el-option>
</el-select>
</div>

 

loadFolder (node, resolve) { // 获取区划列表
      if (node.data === undefined) { // 获取省
        this.$store.dispatch('qh', {code: '0', op: 2}).then((res) => {
          if (res.data.code === 1) {
            let item = []
            item.push(res.data.result.find(ele => {
              return ele.id === this.userInfo.code
            }))
            resolve(item)
          }
        }).catch(err => { console.log(err) })
      }
}
handleCheckChange (data, checked, indeterminate) { // 多选
      if (checked) {
        // debugger
        this.tempData.push(data)
      } else {
        this.tempData.forEach((ele, index) => {
          if (ele.id === data.id) {
            this.tempData.splice(index, 1) // 根据下标删除不需要的对象
          }
        })
      }
      let _this = this
      if (this.timer) {
        clearTimeout(this.timer)
      }
      this.timer = setTimeout(() => { // 全选时会多次触发,设置防抖
        _this.putOut()
      }
        , 500)
    },
this.$refs.tree.setCheckedKeys([])//清空选择
for (var i = 0; i < this.$refs.tree.store._getAllNodes().length; i++) { // 收起列表
    this.$refs.tree.store._getAllNodes()[i].expanded = false

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值