|
|
|
@ -200,11 +200,12 @@ function onSelect(item: FlattenedItem<Recordable<any>>, isSelected: boolean) { |
|
|
|
get(i.value, props.valueField) === get(item.value, props.valueField) |
|
|
|
); |
|
|
|
}) |
|
|
|
?.parents?.forEach((p) => { |
|
|
|
if (Array.isArray(modelValue.value) && !modelValue.value.includes(p)) { |
|
|
|
modelValue.value.push(p); |
|
|
|
} |
|
|
|
}); |
|
|
|
?.parents?.filter((item) => !get(item, props.disabledField)) |
|
|
|
?.forEach((p) => { |
|
|
|
if (Array.isArray(modelValue.value) && !modelValue.value.includes(p)) { |
|
|
|
modelValue.value.push(p); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
if ( |
|
|
|
!props.checkStrictly && |
|
|
|
@ -218,7 +219,8 @@ function onSelect(item: FlattenedItem<Recordable<any>>, isSelected: boolean) { |
|
|
|
get(i.value, props.valueField) === get(item.value, props.valueField) |
|
|
|
); |
|
|
|
}) |
|
|
|
?.parents?.reverse() |
|
|
|
?.parents?.filter((item) => !get(item, props.disabledField)) |
|
|
|
?.reverse() |
|
|
|
.forEach((p) => { |
|
|
|
const children = flattenData.value.filter((i) => { |
|
|
|
return ( |
|
|
|
@ -324,7 +326,7 @@ defineExpose({ |
|
|
|
:class=" |
|
|
|
cn('cursor-pointer', getNodeClass?.(item), { |
|
|
|
'data-[selected]:bg-accent': !multiple, |
|
|
|
'cursor-not-allowed': isNodeDisabled(item), |
|
|
|
'text-foreground/50 cursor-not-allowed': isNodeDisabled(item), |
|
|
|
}) |
|
|
|
" |
|
|
|
v-bind=" |
|
|
|
|