Skip to content

Commit 590bbd5

Browse files
authored
fix(tree): prevent all node check on filter (#1)
1 parent 815285c commit 590bbd5

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/js/CheckboxTree.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,10 @@ class CheckboxTree extends React.Component {
193193
}
194194

195195
isEveryChildChecked(node) {
196+
if (!node.children || node.children.length === 0) {
197+
return this.state.model.getNode(node.value).checked;
198+
}
199+
196200
return node.children.every(
197201
(child) => this.state.model.getNode(child.value).checkState === 1,
198202
);

src/js/NodeModel.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class NodeModel {
5757
}
5858

5959
nodeHasChildren(node) {
60-
return Array.isArray(node.children);
60+
return Array.isArray(node.children) && node.children.length > 0;
6161
}
6262

6363
getDisabledState(node, parent, disabledProp, noCascade) {
@@ -163,6 +163,10 @@ class NodeModel {
163163
}
164164

165165
isEveryChildChecked(node) {
166+
if (!node.children || node.children.length === 0) {
167+
return this.getNode(node.value).checked
168+
}
169+
166170
return node.children.every((child) => this.getNode(child.value).checked);
167171
}
168172

0 commit comments

Comments
 (0)