mirror of
https://github.com/ant-design/ant-design.git
synced 2025-06-11 19:42:54 +08:00
Fix Breadcrumb falsy children, close #5015
This commit is contained in:
parent
5068343b0c
commit
9c6a6d6175
@ -88,8 +88,11 @@ export default class Breadcrumb extends React.Component<BreadcrumbProps, any> {
|
|||||||
});
|
});
|
||||||
} else if (children) {
|
} else if (children) {
|
||||||
crumbs = React.Children.map(children, (element: any, index) => {
|
crumbs = React.Children.map(children, (element: any, index) => {
|
||||||
|
if (!element) {
|
||||||
|
return element;
|
||||||
|
}
|
||||||
warning(
|
warning(
|
||||||
element && element.type.__ANT_BREADCRUMB_ITEM,
|
element.type && element.type.__ANT_BREADCRUMB_ITEM,
|
||||||
'Breadcrumb only accetps Breadcrumb.Item as it\'s children'
|
'Breadcrumb only accetps Breadcrumb.Item as it\'s children'
|
||||||
);
|
);
|
||||||
return cloneElement(element, {
|
return cloneElement(element, {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { mount } from 'enzyme';
|
import { mount, render } from 'enzyme';
|
||||||
import Breadcrumb from '../Breadcrumb';
|
import { renderToJson } from 'enzyme-to-json';
|
||||||
|
import Breadcrumb from '../index';
|
||||||
|
|
||||||
describe('Breadcrumb', () => {
|
describe('Breadcrumb', () => {
|
||||||
it('warns on non-Breadcrumb.Item children', () => {
|
it('warns on non-Breadcrumb.Item children', () => {
|
||||||
@ -18,4 +19,18 @@ describe('Breadcrumb', () => {
|
|||||||
'Breadcrumb only accetps Breadcrumb.Item as it\'s children'
|
'Breadcrumb only accetps Breadcrumb.Item as it\'s children'
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// https://github.com/ant-design/ant-design/issues/5015
|
||||||
|
it('should allow Breadcrumb.Item is null or undefined', () => {
|
||||||
|
const wrapper = render(
|
||||||
|
<Breadcrumb>
|
||||||
|
{null}
|
||||||
|
<Breadcrumb.Item>Home</Breadcrumb.Item>
|
||||||
|
{undefined}
|
||||||
|
</Breadcrumb>
|
||||||
|
);
|
||||||
|
// eslint-disable-next-line
|
||||||
|
expect(console.error.calls).toBe(undefined);
|
||||||
|
expect(renderToJson(wrapper)).toMatchSnapshot();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
order: 0
|
order: 0
|
||||||
title:
|
title:
|
||||||
zh-CN: 基本
|
zh-CN: 基本
|
||||||
en-US: Basic Usage
|
en-US: Basic Usage
|
||||||
---
|
---
|
||||||
|
Loading…
Reference in New Issue
Block a user