<el-tree :data="treeData" show-checkbox node-key="id" ref="tree" @check-change="handleCheckChange" ></el-tree> 在上面的代码中,treeData 是树形数据,id 是每个节点的唯一标识,handleCheckChange 是处理勾选状态改变的方法。 2. 向上遍历树结构,找到每个已勾选子节点的所有父节点 ...
el-tree 获取选中节点的父节点 <template> <el-tree :data="data"show-checkbox node-key="id"ref="tree"@node-click="handleNodeClick" > </el-tree> </template> exportdefault{ data() {return{ data: [] }; }, methods: { handleNodeClick(data) { const node=this.$refs.tree.getNode(data)...
这里本人要实现的是el-tree在选中菜单节点的时候,当部分选择子节点的时候进行保存到后端需要带上父级节点的id,而el-tree里面默认是开启父级关联的选择模式, 也就是el-tree官网里面的check-strictly这个属性,这个属性默认是false,表示选中父级的时候会默认选择所有的子级,取消父级的同时也会取消所有的子级菜单选项, ...
1. 选中父节点,只勾选当前节点 2. 选中子节点,勾选上面所有的父节点,除了根节点 3. 取消勾选子节点,如果有同级子节点是勾选状态,父节点不取消勾选;反之取消 效果展示: 修改el-tree组件的父子关系,选中节点后向上选中所有父级 代码实现: html部分: <template> <el-input placeholder="输入关键字进行过滤" ...
在使用el-tree组件展示权限树结构信息时,遇到一个需求:若用户全选了子节点,仅需将父节点信息传给后端,避免全树数据传输导致后端SQL执行性能问题。原生element-ui文档未提供直接解决方法,需自行实现解决。通过`getSimpleCheckedNodes`函数,可解决此问题。该函数接收一个`store`参数,即组件引用的存储实例...
后端提出要求,如果子节点都选中了,就不要传子节点了,只要把父节点的信息传出去。element-ui文档没有现成的方法。只能自己实现,代码如下: /** * 获取树结构已选节点:如果是父节点下子节点全选则只获取父节点 * @param {*} store === this.$refs.tree.store * @returns */ getSimpleCheckedNodes(store) {...
} }) }, 获取父节点的id:this.$refs.tree.getHalfCheckedKeys() 获取子节点的权限id:const id = this.$refs.tree.getCheckedKeys() 合并成一个数组发送给后台:const ids = checkedkeys.concat(id)
el-tree组件在获取选择的节点时,默认的逻辑是,选中父节点时所有的子节点会被选中(checked),但是当该节点下不是选中所有子节点的时候,主节点不会被选中,而是处于一种半选中状态,提交时通过getCheckedKeys()方法也不会提交父节点,因为半选中状态下checked属性是false的。
el-tree中获取选中节点的所有⽗级节点 需求:项⽬中需要⼀个产品⽬录树形图,点击树形节点时,会把当前选中节点的所有⽗级节点信息带到左侧的搜索框中 解决⽅法:使⽤node-click事件函数 // 点击节点 nodeClick(e) { const { tree } = this.$refs;// 选中节点的所有⽗级id和codeItem信息 this...
el-tree选择子节点默认选中父节点,选中父节点不选中子节点,后台菜单管理功能,需要勾选用户关联的菜单,拿到所有菜单id。可以单独选择父节点,选子节点时默认选中父节点,无半选状态。