项目中用到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有值后再加载组件