一、Cascader 级联选择器
<el-cascader
v-model="value"
:options="options">
</el-cascader>
let options = [{
value: 'zhinan',
label: '指南',
children: [{
value: 'shejiyuanze',
label: '设计原则',
children: []
}]
}]
// 当 options 的子级 children 为一个空数组时, 当前级联选不中,匹配不到
解决方案 -> 使用递归将为空数组的children 改为空就行
getTypeList (commodityType) {
commodityType.forEach(items => {
if (items.children.length > 0) {
this.getTypeList(items.children)
} else {
items.children = undefined
}
})
}
二、select 选择器
需求是站点加店铺需要联动, 站点店铺各两个select,编辑新增详情日志都在同一个页面,因此需要对站点店铺数据不断清空和加载,编辑关闭后再新增,就会出现店铺选不中的情况,一开始以为是Vue响应式的原因,然后使用了$set()和$nexttick(),发现还是选不上,其实选择器的值已经改变了,但是页面不是选中的状态,如下:
点了没反应,后面发现问题是清空选择器数据列表时没有清空选中的值,导致匹配不上而出现问题