返回数组(用于下拉回显)
/**
* 多级联动,根据最后一级的值获取联动数组
* @param list 多级联动数组
* @param value 最后一级的值
* @param value_name
* @param children_name
* @returns {Array}
*/
export function getArrayByLastValue(list, value, value_name = 'value', children_name = 'children') {
if (list instanceof Array && list.length > 0) {
for (const item of list) {
if (item[children_name]) {
// 存在子孩子则继续递归
const data = getArrayByLastValue(item[children_name], value, value_name, children_name)
if (data && data.length > 0) {
return [item[value_name], ...data]
}
} else if (item[value_name] === value) {
// 返回值
return [value]
}
}
}
return []
}
返回选中对象
/**
* 多级联动,根据最后一级的值返回选中的对象
* @param list