diff --git a/components/cascader/__tests__/index.test.js b/components/cascader/__tests__/index.test.js index 4d97c0c576..08014c3237 100644 --- a/components/cascader/__tests__/index.test.js +++ b/components/cascader/__tests__/index.test.js @@ -190,4 +190,40 @@ describe('Cascader', () => { wrapper.setProps({ options: [options[0]] }); expect(wrapper.find('.ant-cascader-menu-item').length).toBe(1); }); + + it('can use fieldNames', () => { + const customerOptions = [{ + code: 'zhejiang', + name: 'Zhejiang', + items: [{ + code: 'hangzhou', + name: 'Hangzhou', + items: [{ + code: 'xihu', + name: 'West Lake', + }], + }], + }, { + code: 'jiangsu', + name: 'Jiangsu', + items: [{ + code: 'nanjing', + name: 'Nanjing', + items: [{ + code: 'zhonghuamen', + name: 'Zhong Hua Men', + }], + }], + }]; + const wrapper = mount(); + wrapper.instance().handleChange(['zhejiang', 'hangzhou', 'xihu'], customerOptions); + expect(wrapper.find('.ant-cascader-picker-label').text().split('/').length).toBe(3); + }); }); diff --git a/components/cascader/index.tsx b/components/cascader/index.tsx index b18528b8a4..e8d794ce6e 100644 --- a/components/cascader/index.tsx +++ b/components/cascader/index.tsx @@ -253,6 +253,7 @@ export default class Cascader extends React.Component o[names.value] === unwrappedValue[level], + { childrenKeyName: names.children }, ); const label = selectedOptions.map(o => o[names.label]); return displayRender(label, selectedOptions);