diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue index 67efb697..03117b36 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/tree/tree.vue @@ -224,15 +224,20 @@ defineExpose({ :class=" cn('cursor-pointer', getNodeClass?.(item), { 'data-[selected]:bg-accent': !multiple, + 'cursor-not-allowed': disabled, + }) + " + v-bind=" + Object.assign(item.bind, { + onfocus: disabled ? 'this.blur()' : undefined, }) " - v-bind="item.bind" @select=" (event) => { if (event.detail.originalEvent.type === 'click') { event.preventDefault(); } - onSelect(item, event.detail.isSelected); + !disabled && onSelect(item, event.detail.isSelected); } " @toggle=" @@ -240,7 +245,7 @@ defineExpose({ if (event.detail.originalEvent.type === 'click') { event.preventDefault(); } - onToggle(item); + !disabled && onToggle(item); } " class="tree-node focus:ring-grass8 my-0.5 flex items-center rounded px-2 py-1 outline-none focus:ring-2" @@ -262,10 +267,11 @@ defineExpose({ { // $event.stopPropagation(); // $event.preventDefault(); - handleSelect(); + !disabled && handleSelect(); // onSelect(item, !isSelected); } "