From e67be8073d325adca0772047d061e690d429d5d0 Mon Sep 17 00:00:00 2001
From: MadCcc <1075746765@qq.com>
Date: Tue, 4 Jan 2022 10:50:14 +0800
Subject: [PATCH] fix: show selected parent whose children were all disabled
---
src/utils/strategyUtil.ts | 4 +---
tests/Select.spec.js | 27 ++++++++++++++++++++++-----
2 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/src/utils/strategyUtil.ts b/src/utils/strategyUtil.ts
index 4eacece8..79337919 100644
--- a/src/utils/strategyUtil.ts
+++ b/src/utils/strategyUtil.ts
@@ -25,9 +25,7 @@ export function formatStrategyValues(
if (
entity &&
entity.children &&
- entity.children.every(
- ({ node }) => isCheckDisabled(node) || valueSet.has(node[fieldNames.value]),
- )
+ entity.children.every(({ node }) => valueSet.has(node[fieldNames.value]))
) {
return false;
}
diff --git a/tests/Select.spec.js b/tests/Select.spec.js
index 5fce19aa..50cfe910 100644
--- a/tests/Select.spec.js
+++ b/tests/Select.spec.js
@@ -173,7 +173,7 @@ describe('TreeSelect.basic', () => {
{ key: '0', value: '0', title: 'label0' },
{ key: '1', value: '1', title: 'label1' },
];
- const createSelect = (props) => ;
+ const createSelect = props => ;
it('fires change and select event', () => {
const onChange = jest.fn();
@@ -213,7 +213,7 @@ describe('TreeSelect.basic', () => {
{ key: 'a', value: 'a', title: 'labela' },
{ key: 'b', value: 'b', title: 'labelb' },
];
- const createSelect = (props) => ;
+ const createSelect = props => ;
it('renders search input', () => {
const wrapper = mount(createSelect());
@@ -228,7 +228,7 @@ describe('TreeSelect.basic', () => {
});
it('check tree changed by filter', () => {
- const Wrapper = (props) =>
{createSelect(props)}
;
+ const Wrapper = props => {createSelect(props)}
;
const wrapper = mount();
expect(wrapper.render()).toMatchSnapshot();
wrapper.setProps({ searchValue: '' });
@@ -335,7 +335,7 @@ describe('TreeSelect.basic', () => {
inputValue: '0',
};
- handleSearch = (inputValue) => {
+ handleSearch = inputValue => {
this.setState({ inputValue });
};
@@ -359,7 +359,7 @@ describe('TreeSelect.basic', () => {
});
describe('keyCode', () => {
- [KeyCode.ENTER, KeyCode.DOWN].forEach((code) => {
+ [KeyCode.ENTER, KeyCode.DOWN].forEach(code => {
it('open', () => {
const onFocus = jest.fn();
@@ -502,4 +502,21 @@ describe('TreeSelect.basic', () => {
wrapper.update();
expect(wrapper.find('.rc-tree-select-selection-item').text()).toEqual('bamboo');
});
+
+ it('should show parent if children were disabled', () => {
+ const onSelect = jest.fn();
+
+ const wrapper = mount(
+
+
+
+
+
+ ,
+ );
+
+ wrapper.selectNode();
+ expect(onSelect).toHaveBeenCalledWith('parent 1-0', expect.anything());
+ expect(wrapper.text()).toBe('parent 1-0parent 1-0my leafyour leaf');
+ });
});