<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>
element tree 获取多个父级val
最新推荐文章于 2024-03-26 18:41:44 发布