之前用的elementUi 所以习惯性的 先获取到已有数据然后forEach覆盖,之前没什么问题,然后这次想用antdv 来写后台,出现了不少问题,这个只是其中一个
代码流程
一、 编辑某个角色权限。
二、打开页面获取后台数据,然后赋值给treeSelect v-model 指定变量
三、用foreach 将数据循环成一维数组(跟antd组件案例类似的结构)
这一步就出问题了,复制完后,是显示成功但是treeselect组件无法点击,没有任何效果,没查到类似问题,只好一个个尝试。
后来发现,只要不是分两次去赋值给v-model 指定的变量就可以了,就是说,不要多次去主动赋值,整理好格式后一次赋值
this.$axios(this.$api.xxx+'/'+this.id).then(res=>{
res.data.menu_id = [];
res.data.menus.forEach(item=>{
res.data.menu_id.push(item.id);
})
this.info = res.data; // 这个info 不要多次去赋值,info 就是v-model 绑定的那个对象
console.log(this.info)
})
// 或者可以试试$set 看是否有效。