Skip to content

Commit 768b89c

Browse files
authored
Merge pull request #69 from react-component/fix-labs-undefined
Fix check error: labs is undefined
2 parents 4f31579 + c1392ae commit 768b89c

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

src/Select.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -743,9 +743,9 @@ class Select extends Component {
743743
this._cacheTreeNodesStates = false;
744744
this.setState({
745745
value: this.getValue(props, toArray(this._savedValue).map((v, i) => {
746-
return {
746+
return this.isLabelInValue() ? v : {
747747
value: v,
748-
label: labs[i],
748+
label: labs && labs[i],
749749
};
750750
})),
751751
});

tests/Select.checkable.spec.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,4 +53,37 @@ describe('TreeSelect.checkable', () => {
5353
wrapper.find('.rc-tree-select-selection__clear').simulate('click');
5454
expect(wrapper.find('.rc-tree-select-selection__choice')).toHaveLength(0);
5555
});
56+
57+
// Fix https://github.com/ant-design/ant-design/issues/7312#issuecomment-324865971
58+
it('should be checkable when treeCheckStrictly is true', () => {
59+
const treeData = [
60+
{ label: '1-1', value: '1-1', children: [] },
61+
{ label: '1-2', value: '1-2', children: [] },
62+
{
63+
label: '1-3', value: '1-3', children: [
64+
{ label: '2-1', value: '2-1', children: [] },
65+
{ label: '2-2', value: '2-2', children: [] },
66+
],
67+
},
68+
];
69+
const handleChange = jest.fn();
70+
const wrapper = mount(
71+
<TreeSelect
72+
treeData={treeData}
73+
treeCheckable
74+
treeCheckStrictly
75+
multiple
76+
onChange={handleChange}
77+
/>
78+
);
79+
// open
80+
jest.useFakeTimers();
81+
wrapper.find('.rc-tree-select').simulate('click');
82+
jest.runAllTimers();
83+
// select
84+
wrapper.find('.rc-tree-select-tree-checkbox').at(0).simulate('click');
85+
expect(handleChange).toBeCalled();
86+
expect(wrapper.find('.rc-tree-select-selection__choice__content').length).toBe(1);
87+
expect(wrapper.find('.rc-tree-select-selection__choice__content').at(0).text()).toBe('1-1');
88+
});
5689
});

0 commit comments

Comments
 (0)