Skip to content

Commit ad7eddc

Browse files
committed
fix: vbenTree disabled supported
1 parent 2adb8ac commit ad7eddc

File tree

2 files changed

+13
-7
lines changed
  • packages/@core/ui-kit/shadcn-ui/src/ui/tree
  • playground/src/views/system/role/modules

2 files changed

+13
-7
lines changed

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

+12-7
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,9 @@ defineExpose({
192192
:model-value="treeValue"
193193
v-model:expanded="expanded as string[]"
194194
:default-expanded="defaultExpandedKeys as string[]"
195-
:propagate-select="!checkStrictly"
196-
:multiple="multiple"
197-
:disabled="disabled"
195+
:propagate-select="!props.checkStrictly"
196+
:multiple="props.multiple"
197+
:disabled="props.disabled"
198198
:selection-behavior="allowClear || multiple ? 'toggle' : 'replace'"
199199
@update:model-value="updateModelValue"
200200
v-slot="{ flattenItems }"
@@ -229,7 +229,11 @@ defineExpose({
229229
v-bind="item.bind"
230230
@select="
231231
(event) => {
232-
if (event.detail.originalEvent.type === 'click') {
232+
if (
233+
event.detail.originalEvent.type === 'click' ||
234+
props.disabled ||
235+
get(item.value, 'disabled')
236+
) {
233237
event.preventDefault();
234238
}
235239
onSelect(item, event.detail.isSelected);
@@ -263,6 +267,7 @@ defineExpose({
263267
v-if="multiple"
264268
:checked="isSelected"
265269
:indeterminate="isIndeterminate"
270+
:disabled="disabled || get(item.value, 'disabled')"
266271
@click="
267272
() => {
268273
handleSelect();
@@ -274,10 +279,10 @@ defineExpose({
274279
class="flex items-center gap-1 pl-2"
275280
@click="
276281
(_event) => {
277-
// $event.stopPropagation();
278-
// $event.preventDefault();
282+
if (props.disabled || get(item.value, 'disabled')) {
283+
return;
284+
}
279285
handleSelect();
280-
// onSelect(item, !isSelected);
281286
}
282287
"
283288
>

playground/src/views/system/role/modules/form.vue

+1
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ function getNodeClass(node: Recordable<any>) {
106106
:default-expanded-level="2"
107107
:get-node-class="getNodeClass"
108108
v-bind="slotProps"
109+
:disabled="true"
109110
value-field="id"
110111
label-field="meta.title"
111112
icon-field="meta.icon"

0 commit comments

Comments
 (0)