lazy: true,
async lazyLoad (node, resolve) {
const { level } = node
let params = {}
if (level >= 1) {
let res = await api
if (res.success && res.data) {
let newArr = []
//用于回显数据与新数据去重
if (node && node.children && node.children.length > 0) {
newArr = node.children.map((item) => item.value)
}
const nodes = res.data
let pushNew = []
nodes.forEach(item => {
if (newArr.indexOf(item.value) <= -1) {
pushNew.push(item)
}
})
resolve(pushNew)
}
resolve()
}
}
清空级联选择器时,清空高亮需要手动设置
this.$refs.cascader.$refs.panel.activePath = []
这里只做了单选处理,获取选中的label
getData (obj) {
let data = []
let labelList = []
let idList = []
let getVal = function (val) {
if (val) {
labelList.push(val.label)
idList.push(val.value)
getVal(val.parent)
}
}
getVal(obj)
labelList = labelList.reverse().join('/')
idList = idList.reverse().join('/')
data.push(labelList + '=' + idList)
return data
},
handleChange () {
let val = this.getData(this.$refs.cascader.getCheckedNodes()[0])
this.$emit('update:data', val)
}