Skip to content

Commit ee295d4

Browse files
fix(Tree): add disabled state check for draggable nodes (#5914)
* fix(Tree): add disabled state check for draggable nodes * fix(Tree): ensure draggable class is only applied to non-disabled nodes * chore: stash changelog [ci skip] --------- Co-authored-by: tdesign-bot <[email protected]>
1 parent bb5ea16 commit ee295d4

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

packages/components/tree/_example/draggable.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
transition
88
expand-all
99
draggable
10+
check-strictly
1011
:allow-drop="handleAllowDrop"
1112
@drag-start="handleDragStart"
1213
@drag-end="handleDragEnd"
@@ -49,6 +50,7 @@ const items = ref([
4950
{
5051
value: '1.1.2.1',
5152
label: '1.1.2.1',
53+
disabled: true,
5254
},
5355
{
5456
value: '1.1.2.2',
@@ -70,7 +72,7 @@ const items = ref([
7072
},
7173
{
7274
value: '2.2',
73-
label: '2.2 不允许拖放为 2.2 的子节点',
75+
label: '2.2 (不允许其它节点拖放为其子节点)',
7476
},
7577
],
7678
},

packages/components/tree/hooks/useTreeItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export default function useTreeItem(state: TypeTreeItemState) {
7676
[`${classPrefix}-is-disabled`]: node.isDisabled(),
7777
});
7878
list.push({
79-
[`${componentName}__item--draggable`]: node.isDraggable(),
79+
[`${componentName}__item--draggable`]: !node.isDisabled() && node.isDraggable(),
8080
});
8181
if (node.visible) {
8282
list.push(`${componentName}__item--visible`);
@@ -143,7 +143,7 @@ export default function useTreeItem(state: TypeTreeItemState) {
143143
data-level={level}
144144
style={styles}
145145
onClick={(evt: MouseEvent) => handleClick(evt)}
146-
draggable={node.isDraggable()}
146+
draggable={!node.isDisabled() && node.isDraggable()}
147147
onDragstart={(evt: DragEvent) => handleDragStart(evt)}
148148
onDragend={(evt: DragEvent) => handleDragEnd(evt)}
149149
onDragover={(evt: DragEvent) => handleDragOver(evt)}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
pr_number: 5914
3+
contributor: RylanBot
4+
---
5+
6+
- fix(Tree): 修复 draggable 在 disabled 状态下依旧生效的异常,此前有依赖此错误的业务请注意此变动 ⚠️ @RylanBot ([#5914](https://github.com/Tencent/tdesign-vue-next/pull/5914))

0 commit comments

Comments
 (0)