element tree 获取多个父级val

<template>
  <div id="addFeature">
        <el-tree :data="featureTree"
                 show-checkbox
                 node-key="resourceId"
                 :default-expanded-keys="[1]"
                 :default-checked-keys="defaultArr"
                 ref="tree"
                 :props="defaultProps"
                 @check-change="treeClick"></el-tree>
    <div @click="submitForm">asdas</div>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        roleId: '',
        administrativeCode: '',
        ruleForm: {
          roleName: '',
          remark: '',
        },

        rules: {
          roleName: [{
            validator: '',
            trigger: 'blur'
          }]
        },

        defaultProps: {
          children: 'children',
          label: 'name',

        },
        featureTree: [],
        defaultArr: [],
        selectTree: [],
        selectedTree: [],
        treeChecked: [],
        collection: [], // 所有权限集合
        userId: '',
      }
    },
    created() {
      this.getOperFunPerm()
    },
    methods: {
      getOperFunPerm() {
        this.$store.dispatch('getRootResources').then(res => {
            let data = res.data.data
            this.featureTree .push(data) ;

        })
      },
      submitForm(formName) {
            let resourceIds = [];
            this.$refs.tree.getCheckedNodes().forEach(item => {
              resourceIds.push(item.resourceId);
            })
            this.selectedTree = resourceIds;
            this.getTreeParent1(this.featureTree);
            this.selectedTree = [...new Set(this.selectedTree)]
            let resourceList = [];
            this.selectedTree.forEach(item => {
              resourceList.push(item)
            })
        console.log(resourceList)
      },
      treeClick(obj, node, tree) {
        if (!obj.children.length) {
          if (node) {
            this.selectTree.push(obj.resourceId)
          } else {
            this.selectTree.splice(this.selectTree.indexOf(obj.resourceId), 1)
          }
        }
      },
      getTreeParent1(arr) { //将子节点被选中的父节点添加
        const that = this;
        arr.forEach(item => {
          let flag1 = false;
          item.children.forEach(ele => {
            if (ele.children && ele.children.length > 0) {
              flag1 = true;
            }
          })
          if (flag1 && item.children) {
            that.getTreeParent1(item.children)
          }

          let flag2 = false;
          item.children.forEach(ele => {
            if (that.selectedTree.indexOf(ele.resourceId) > (-1)) {
              flag2 = true;
            }
          })
          console.log(item.resourceId + ":" + flag2)
          if (flag2) {
            that.selectedTree.push(item.resourceId)
          }
        })
      },
    }
  }
</script>

<style scoped>
  #addFeature {}
</style>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值