问题:
前两天一同事请教我:前端复选框问题-节点赋值未选中最后显示时确变成选中状态?
还有就是明明传过为的是false,在控制台上打印确变成选中状态,如下图:
以下是前端vue代码:
<Scroll height="500"><Tree :data="edit_perm_data" show-checkbox multiple ref="permTree"></Tree></Scroll>
data () {return {queryBody: {},tableList: [],edit_perm_data: [],……}
}
请求后台数据,并打印
this.$axios.get(this.queryPermDataUrl).then(res => {console.log(111,res);if (res != null) {this.edit_perm_data = res;}});
分析与解决:
原因是数据结构错误导致,要求后台传的数据必须是符合Tree框架结构正确的数据,父节点与子节点的选择状态一致。
上面的数据存在上下级不一致问题如下图:
还有console.log(111,res);打印的为什么不是后台传过来的数据???
那是在赋值后this.edit_perm_data = res,tree已针对错误的数据做了修正处理。