Skip to content

Commit 66bc721

Browse files
author
jinli.lyy
committed
fix(Tree): selectable=false cursor:default
1 parent 0540cba commit 66bc721

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

next

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 07510ab13e04ba54877c414e16e7dccbc4f1524f

src/tree/main.scss

+6-1
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@
173173
}
174174
}
175175

176+
176177
&.#{$css-prefix}node-indent {
177178
#{$tree-prefix}-node #{$tree-prefix}-node {
178179
margin-left: $tree-child-indent;
@@ -190,10 +191,14 @@
190191

191192
#{$tree-prefix}-node-label {
192193
transition: color cubic-bezier(.23, 1, .32, 1) 300ms, background-color cubic-bezier(.23, 1, .32, 1) 300ms;
193-
cursor: pointer;
194+
cursor: default;
194195
@include tree-node-state($tree-node-normal-color, $tree-node-normal-background);
195196
}
196197

198+
#{$tree-prefix}-node-label-selectable {
199+
cursor: pointer;
200+
}
201+
197202
#{$tree-prefix}-node-label:hover {
198203
@include tree-node-state($tree-node-hover-color, $tree-node-hover-bg-color);
199204
}

src/tree/view/tree-node.jsx

+8-3
Original file line numberDiff line numberDiff line change
@@ -308,10 +308,16 @@ export default class TreeNode extends Component {
308308
}
309309

310310
renderLabel() {
311-
const { prefix, root } = this.props;
311+
const { prefix, root, disabled } = this.props;
312312
const { isNodeBlock } = root.props;
313313
const { label } = this.state;
314-
const labelProps = { className: `${prefix}tree-node-label` };
314+
const selectable = typeof this.props.selectable !== 'undefined' ? this.props.selectable : root.props.selectable;
315+
const labelProps = {
316+
className: cx({
317+
[`${prefix}tree-node-label`]: true,
318+
[`${prefix}tree-node-label-selectable`]: selectable && !disabled
319+
})
320+
};
315321
if (!isNodeBlock) {
316322
this.addCallbacks(labelProps);
317323
}
@@ -351,7 +357,6 @@ export default class TreeNode extends Component {
351357
const { prefix, className, children, isLeaf, root, pos, selected, disabled, dragOver, dragOverGapTop, dragOverGapBottom } = this.props;
352358
const { loadData, isNodeBlock, showLine, draggable: rootDraggable, filterTreeNode } = root.props;
353359
this.showLine = !isNodeBlock && showLine;
354-
355360
const others = pickOthers(Object.keys(TreeNode.propTypes), this.props);
356361
if (rootDraggable) {
357362
others.onDragEnter = this.handleDragEnter;

0 commit comments

Comments
 (0)