Browse Source

fix: 全选时过滤disabled的节点

pull/6734/head
zouawen 5 months ago
parent
commit
dfa2ac3435
  1. 22
      packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue
  2. 1
      packages/@core/ui-kit/shadcn-ui/src/ui/tree/types.ts

22
packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue

@ -159,19 +159,21 @@ function collapseAll() {
} }
function checkAll() { function checkAll() {
if (props.multiple) { if (!props.multiple) return;
modelValue.value = flattenData.value.map((item) => modelValue.value = [
get(item.value, props.valueField), ...new Set(
); flattenData.value
updateTreeValue(); .filter((item) => !get(item.value, props.disabledField))
} .map((item) => get(item.value, props.valueField)),
),
];
updateTreeValue();
} }
function unCheckAll() { function unCheckAll() {
if (props.multiple) { if (!props.multiple) return;
modelValue.value = []; modelValue.value = [];
updateTreeValue(); updateTreeValue();
}
} }
function isNodeDisabled(item: FlattenedItem<Recordable<any>>) { function isNodeDisabled(item: FlattenedItem<Recordable<any>>) {

1
packages/@core/ui-kit/shadcn-ui/src/ui/tree/types.ts

@ -51,7 +51,6 @@ export function treePropsDefaults() {
defaultExpandedLevel: 0, defaultExpandedLevel: 0,
disabled: false, disabled: false,
disabledField: 'disabled', disabledField: 'disabled',
expanded: () => [],
iconField: 'icon', iconField: 'icon',
labelField: 'label', labelField: 'label',
multiple: false, multiple: false,

Loading…
Cancel
Save