【element-ui】element ui 的树形组件绑值问题
项目中用到element UI 的树形组件tree,现在是希望组件中选中的项在打开页面时能够显示出来,自己向后台请求到数据之后,赋值给了default-checked-keys中的变量,是数组形式,可是页面中就是不显示,然而,写成静态的数组就能显示在页面中,实在不明白原理,希望知道的大神们能够指点一下。相关代码如下:
template中内容:
<el-tree :data="user_role"
show-checkbox
node-key="user_id"
:default-expanded-keys="[2, 3]"
:default-checked-keys="checkedStaffIds"
:filter-node-method="filterNodeBefore"
:props="defaultProps"
ref="editStaff"
>
</el-tree>
js部分:
getUser(){ let self = this;
console.log(this.EditForm.id);
axios.get('/role/showUser',{
params:{
role_id:this.EditForm.id
}
}
).then(function(response){
self.checkedStaffIds = response.data.contents.look_user;
console.log(self.checkedStaffIds);
})
},
数据格式:
上面赋值给checkedStaffIds 没有用,但是在data数据中直接写成下面这样却可以绑定成功:
求教求教~
回答:
是不是你异步请求前就初始化了tree 你可以加上个v-if判断 默认checked有值后再加载组件
回答:
default-checked-keys
是初始化加载的时候用的,可能你数据请求到的时候树组件已经加载完成了,这时候改变default-checked-keys
的值就没有用了。
需要通过this.$refs.tree.setCheckedNodes
来设置选中节点
以上是 【element-ui】element ui 的树形组件绑值问题 的全部内容, 来源链接: utcz.com/a/152443.html