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'); + }); });