Skip to content

Commit c783928

Browse files
authored
fix(Tree): add disabled state check for draggable nodes (#3740)
* fix(Tree): add `disabled` state check for `draggable` nodes * fix(Tree): ensure draggable class is only applied to non-disabled nodes
1 parent 5724e38 commit c783928

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

packages/components/tree/TreeItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ const TreeItem = forwardRef(
377377
: node.data[childrenKey] !== undefined),
378378
[treeClassNames.actived]: node.isActivable() ? node.actived : false,
379379
[treeClassNames.disabled]: node.isDisabled(),
380-
[treeClassNames.treeNodeDraggable]: node.isDraggable(),
380+
[treeClassNames.treeNodeDraggable]: !node.isDisabled() && node.isDraggable(),
381381
[treeClassNames.treeNodeDragging]: isDragging,
382382
[treeClassNames.treeNodeDragTipTop]: isDragOver && dropPosition < 0,
383383
[treeClassNames.treeNodeDragTipBottom]: isDragOver && dropPosition > 0,
@@ -390,7 +390,7 @@ const TreeItem = forwardRef(
390390
} as CSSProperties
391391
}
392392
onClick={handleClick}
393-
draggable={node.isDraggable()}
393+
draggable={!node.isDisabled() && node.isDraggable()}
394394
onDragStart={handleDragStart}
395395
onDragEnd={handleDragEnd}
396396
onDragOver={handleDragOver}

packages/components/tree/_example/draggable.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const items = [
3737
{
3838
value: '1.1.2.2',
3939
label: '1.1.2.2',
40+
disabled: true,
4041
},
4142
],
4243
},
@@ -92,6 +93,7 @@ export default () => {
9293
transition
9394
expandAll
9495
draggable
96+
checkStrictly
9597
allowDrop={handleAllowDrop}
9698
onDrop={handleDrop}
9799
onDragStart={handleDragStart}

0 commit comments

Comments
 (0)