前端使用vue+element-plus ,在使用树形结构el-tree时,default-checked-keys默认选中,写数组类型[1,2,3]没有问题,但是替换成字段,字段类型也是[],这时是没有效果的,第二次打开,有默认选中的效果,这是哪里出问题了?
<el-tree
:data="allData.menList"
:props="props"
node-key="id"
show-checkbox
:default-expanded-keys="[1]"
:default-checked-keys='[1,2,3]'
@check="changeChoose"
/>
这是没有使用字段名时 的代码,效果如下
但是使用字段名时,是这样的代码如下
<el-tree
:data="allData.menList"
:props="props"
node-key="id"
show-checkbox
:default-expanded-keys="[1]"
:default-checked-keys='allData.roleMenuList'
@check="changeChoose"
/>
alldata以及获取roleMenuList代码如下
const allData = reactive({
page: 1,
size: 8,
total: 0,
roleListPage: [],
editSingleRole: [],
menList:[],
authorizedList:[],
chooseRoleId:0,
roleMenuList: []
})
const getAllRoleMenu = () => {
const list = {
roleId:allData.chooseRoleId
}
selectRoleMenuList(list).then(function (res: any) {
// 处理成功情况
const list1 = res.data
for(let i =0;i<list1.length;i++){
console.log(typeof(list1[i].menuId))
console.log(list1[i].menuId)
allData.roleMenuList.push(list1[i].menuId)
}
console.log(allData.roleMenuList)
})
.catch(function (error) {
// 处理错误情况
console.log(error)
})
}
打印出来的类型也是number如下图
再次打开时则是显示默认选中,这是咋回事