|
|
|
@ -1,10 +1,10 @@
@@ -1,10 +1,10 @@
|
|
|
|
|
<template> |
|
|
|
|
<a-cascader |
|
|
|
|
v-model:value="state" |
|
|
|
|
v-bind="$attrs" |
|
|
|
|
:options="options" |
|
|
|
|
:load-data="loadData" |
|
|
|
|
change-on-select |
|
|
|
|
:displayRender="handleRenderDisplay" |
|
|
|
|
@change="handleChange" |
|
|
|
|
> |
|
|
|
|
<template v-if="loading" #suffixIcon> |
|
|
|
@ -40,6 +40,7 @@
@@ -40,6 +40,7 @@
|
|
|
|
|
LoadingOutlined, |
|
|
|
|
[Cascader.name]: Cascader, |
|
|
|
|
}, |
|
|
|
|
inheritAttrs: false, |
|
|
|
|
props: { |
|
|
|
|
value: { |
|
|
|
|
type: Array, |
|
|
|
@ -64,10 +65,7 @@
@@ -64,10 +65,7 @@
|
|
|
|
|
isLeaf: { |
|
|
|
|
type: Function as PropType<(arg: Recordable) => boolean>, |
|
|
|
|
default: null, |
|
|
|
|
}, |
|
|
|
|
displayRenderArray: { |
|
|
|
|
type: Array, |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
emits: ['change', 'defaultChange'], |
|
|
|
|
setup(props, { emit }) { |
|
|
|
@ -174,16 +172,6 @@
@@ -174,16 +172,6 @@
|
|
|
|
|
emit('defaultChange', keys, args); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function handleRenderDisplay({ labels, selectedOptions }) { |
|
|
|
|
if (unref(emitData).length === selectedOptions.length) { |
|
|
|
|
return labels.join(' / '); |
|
|
|
|
} |
|
|
|
|
if (props.displayRenderArray) { |
|
|
|
|
return props.displayRenderArray.join(' / '); |
|
|
|
|
} |
|
|
|
|
return ''; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
state, |
|
|
|
|
options, |
|
|
|
@ -191,7 +179,6 @@
@@ -191,7 +179,6 @@
|
|
|
|
|
t, |
|
|
|
|
handleChange, |
|
|
|
|
loadData, |
|
|
|
|
handleRenderDisplay, |
|
|
|
|
}; |
|
|
|
|
}, |
|
|
|
|
}); |
|
|
|
|