Vue ElementUI tree组件 动态渲染编辑时 选择父级时会全选所有的子级(el-tree数据回显父节点和子节点都会被选中)
问题描述:
当el-tree 需要从后台拿到数据动态展示出来时,会出现一个父节点下面的所有子节点全部被勾选了,如图:
文章图片
解决方案:
:check-strictly="checkStrictly"
:data="https://www.it610.com/article/routesData"
:props="defaultProps"
show-checkbox
node-key="path"
class="permission-tree"
/>
1.设置check-strictly 是一个变量checkStrictly 默认值是false
2.拿到接口数据后:
this.checkStrictly = true//重点:给数节点赋值之前 先设置为true
this.$nextTick(() => {
const routes = this.generateRoutes(this.role.routes) //拿到接口数据
this.$refs.tree.setCheckedNodes(routes) //给树节点赋值
this.checkStrictly = false //重点: 赋值完成后 设置为false
})
名词解释:
很多同学拿到数据后只是进行了setCheckedNodes赋值,所以会出现父节点和子节点都被选中都情况
check-strictly:在显示复选框的情况下,是否严格的遵循父子不互相关联的做法,默认为 false
【Vue ElementUI tree组件 动态渲染编辑时 选择父级时会全选所有的子级(el-tree数据回显父节点和子节点都会被选中)】博主另一个类似的文章:http://raboninco.com/1MsHg
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- VueX--VUE核心插件
- vue组件中为何data必须是一个函数()
- 用npm发布一个包的教程并编写一个vue的插件发布
- vuex|vuex 基础结构
- Vue源码分析—响应式原理(二)
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- 如何在手机上查看测试vue-cli构建的项目