diff --git a/src/tree-node/index.js b/src/tree-node/index.js
index cb94a2db..1def4e9e 100644
--- a/src/tree-node/index.js
+++ b/src/tree-node/index.js
@@ -73,6 +73,7 @@ class TreeNode extends PureComponent {
showPartiallySelected: PropTypes.bool,
readOnly: PropTypes.bool,
clientId: PropTypes.string,
+ selectable: PropTypes.bool,
}
getAriaAttributes = () => {
@@ -113,6 +114,7 @@ class TreeNode extends PureComponent {
showPartiallySelected,
readOnly,
clientId,
+ selectable,
} = this.props
const liCx = getNodeCx(this.props)
const style = keepTreeOnSearch || !searchModeOn ? { paddingLeft: `${(_depth || 0) * 20}px` } : {}
@@ -135,6 +137,7 @@ class TreeNode extends PureComponent {
showPartiallySelected={showPartiallySelected}
readOnly={readOnly}
clientId={clientId}
+ selectable={selectable}
/>
diff --git a/src/tree-node/node-label.js b/src/tree-node/node-label.js
index a5bc4ef6..ae9ed154 100644
--- a/src/tree-node/node-label.js
+++ b/src/tree-node/node-label.js
@@ -24,6 +24,7 @@ class NodeLabel extends PureComponent {
onCheckboxChange: PropTypes.func,
readOnly: PropTypes.bool,
clientId: PropTypes.string,
+ selectable: PropTypes.bool,
}
handleCheckboxChange = e => {
@@ -42,7 +43,7 @@ class NodeLabel extends PureComponent {
}
render() {
- const { mode, title, label, id, partial, checked } = this.props
+ const { mode, title, label, id, partial, checked, selectable = true } = this.props
const { value, disabled, showPartiallySelected, readOnly, clientId } = this.props
const nodeLabelProps = { className: 'node-label' }
@@ -61,13 +62,15 @@ class NodeLabel extends PureComponent {
{mode === 'radioSelect' ? (
) : (
-
+ selectable && (
+
+ )
)}
{label}