Skip to content

Commit dee1bfb

Browse files
committed
fix(Select): showDataSourceChildren with empty child
1 parent fbcb827 commit dee1bfb

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

src/select/util.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,10 @@ export function loopMap(dataSource, callback) {
5858
dataSource.forEach(option => {
5959
if (option.children) {
6060
const children = loopMap(option.children, callback);
61-
children.length &&
62-
result.push({
63-
...option,
64-
children,
65-
});
61+
result.push({
62+
...option,
63+
children,
64+
});
6665
} else {
6766
// eslint-disable-next-line callback-return
6867
const tmp = callback(option);

test/select/index-spec.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,22 @@ describe('Select', () => {
4949
});
5050

5151
it('should support showDataSourceChildren to ignore dataSource children', () => {
52-
const dataSource = [{ label: 'xxx', value: 'yyy', children: [
53-
{ label: 'xxx1', value: 'yyy1' },
54-
{ label: 'xxx2', value: 'yyy2' }
55-
]}];
52+
const dataSource = [{
53+
label: 'xxx',
54+
value: 'yyy',
55+
children: [{ label: 'xxx1', value: 'yyy1' },{ label: 'xxx2', value: 'yyy2' }]
56+
},{
57+
label: 'label1',
58+
value: 'label1',
59+
children: []
60+
}];
61+
5662
wrapper.setProps({
5763
dataSource,
5864
visible: true,
5965
showDataSourceChildren: false
6066
});
61-
assert(document.querySelectorAll('.next-menu-item').length === 1);
67+
assert(document.querySelectorAll('.next-menu-item').length === 2);
6268
});
6369

6470
it('should support empty value from dataSource', () => {

0 commit comments

Comments
 (0)