同一个页面使用两个el-tree数据污染的问题

在同一个界面使用两个tree,数据不一样

   <el-select
       placeholder="请选择"
         v-model="foregroundCategoryquery"
         @change="changeCategory"
       >
         <el-option :label="'后台类目'" :value="false"> </el-option>
         <el-option :label="'前台类目'" :value="true"> </el-option>

   </el-select>
  <el-tree
          class="tree"
          ref="treeX"
          v-if="!foregroundCategoryquery"
          :show-checkbox="changeMultiple"
          :data="classificationTree"
          v-loading="treeLoading"
          @node-click="handleNodeClick"
          @check="checkChange"
          node-key="backgroundCategoryId"
          :props="{
            label: 'name',
            children: 'children',
          }"
        > 
      </el-tree>
        <el-tree
          class="tree"
          ref="treeY"
          v-if="foregroundCategoryquery"
          :show-checkbox="changeMultiple"
          :data="fontClassificationTree"
          v-loading="treeLoading"
          node-key="foregroundCategoryId"
          :props="{
            label: 'name',
            children: 'children',
          }"
        >
   </el-tree>

切换的时候需要改变key,不然数据会被污染,导致两个数绑定的key都是同一个,点击展开会报错

 changeCategory (value) {
      if (value) {
      // 获取前台类目数据
        this.getFontTreeList()
        this.$nextTick(() => {
          this.$refs.treeY.store.key = 'foregroundCategoryId'
        })
      } else {
     // 获取后台类目数据
        this.getTreeList()
        this.$nextTick(() => {
          this.$refs.treeX.store.key = 'backgroundCategoryId'
        })
      }
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值