fix: Breadcrumb validateDOMNesting warning (#16929)

* 🐛 Fix Breadcrumb validateDOMNesting warning

```
Warning: validateDOMNesting(...): <a> cannot appear as a descendant of <a>.
    in a (created by Context.Consumer)
    in span (created by Context.Consumer)
    in a (created by Context.Consumer)
    in Trigger (created by Dropdown)
    in Dropdown (created by Context.Consumer)
    in Dropdown (created by Context.Consumer)
    in span (created by Context.Consumer)
    in BreadcrumbItem (created by Context.Consumer)
    in div (created by Context.Consumer)
    in Breadcrumb (created by TestBreadcrumb)
    in TestBreadcrumb
```

*  update snapshots
This commit is contained in:
偏右 2019-06-03 16:13:15 +08:00 committed by zombieJ
parent a6ef4ca6a2
commit 6d2a5df1e6
4 changed files with 109 additions and 111 deletions

View File

@ -71,10 +71,10 @@ export default class BreadcrumbItem extends React.Component<BreadcrumbItemProps,
if (overlay) { if (overlay) {
return ( return (
<DropDown overlay={overlay} placement="bottomCenter"> <DropDown overlay={overlay} placement="bottomCenter">
<a className={`${prefixCls}-overlay-link`}> <span className={`${prefixCls}-overlay-link`}>
{breadcrumbItem} {breadcrumbItem}
<Icon type="down" /> <Icon type="down" />
</a> </span>
</DropDown> </DropDown>
); );
} }

View File

@ -71,42 +71,43 @@ exports[`Breadcrumb should render a menu 1`] = `
</span> </span>
</span> </span>
<span> <span>
<a <span
class="ant-breadcrumb-overlay-link ant-dropdown-trigger" class="ant-breadcrumb-overlay-link ant-dropdown-trigger"
> >
<span <span
class="ant-breadcrumb-link" class="ant-breadcrumb-link"
/> >
</a> <a
<a href="#/index/first"
href="#/index/first" >
first
</a>
</span>
<i
aria-label="icon: down"
class="anticon anticon-down"
>
<svg
aria-hidden="true"
class=""
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</i>
</span>
<span
class="ant-breadcrumb-separator"
> >
first /
</a> </span>
</span>
<i
aria-label="icon: down"
class="anticon anticon-down"
>
<svg
aria-hidden="true"
class=""
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</i>
<span
class="ant-breadcrumb-separator"
>
/
</span> </span>
<span> <span>
<span <span

View File

@ -64,89 +64,88 @@ exports[`renders ./components/breadcrumb/demo/basic.md correctly 1`] = `
`; `;
exports[`renders ./components/breadcrumb/demo/overlay.md correctly 1`] = ` exports[`renders ./components/breadcrumb/demo/overlay.md correctly 1`] = `
<div> <div
<div class="ant-breadcrumb"
class="ant-breadcrumb" >
> <span>
<span> <span
<span class="ant-breadcrumb-link"
class="ant-breadcrumb-link" >
> Ant Design
Ant Design
</span>
<span
class="ant-breadcrumb-separator"
>
/
</span>
</span> </span>
<span> <span
class="ant-breadcrumb-separator"
>
/
</span>
</span>
<span>
<span
class="ant-breadcrumb-link"
>
<a
href=""
>
Component
</a>
</span>
<span
class="ant-breadcrumb-separator"
>
/
</span>
</span>
<span>
<span
class="ant-breadcrumb-overlay-link ant-dropdown-trigger"
>
<span <span
class="ant-breadcrumb-link" class="ant-breadcrumb-link"
> >
<a <a
href="" href=""
> >
Component General
</a> </a>
</span> </span>
<span <i
class="ant-breadcrumb-separator" aria-label="icon: down"
class="anticon anticon-down"
> >
/ <svg
</span> aria-hidden="true"
class=""
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</i>
</span> </span>
<span>
<a
class="ant-breadcrumb-overlay-link ant-dropdown-trigger"
>
<span
class="ant-breadcrumb-link"
/>
</a>
<a
href=""
>
General
</a>
</span>
<i
aria-label="icon: down"
class="anticon anticon-down"
>
<svg
aria-hidden="true"
class=""
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</i>
<span <span
class="ant-breadcrumb-separator" class="ant-breadcrumb-separator"
> >
/ /
</span> </span>
<span> </span>
<span <span>
class="ant-breadcrumb-link" <span
> class="ant-breadcrumb-link"
Button >
</span> Button
<span
class="ant-breadcrumb-separator"
>
/
</span>
</span> </span>
</div> <span
class="ant-breadcrumb-separator"
>
/
</span>
</span>
</div> </div>
`; `;

View File

@ -37,18 +37,16 @@ const menu = (
); );
ReactDOM.render( ReactDOM.render(
<div> <Breadcrumb>
<Breadcrumb> <Breadcrumb.Item>Ant Design</Breadcrumb.Item>
<Breadcrumb.Item>Ant Design</Breadcrumb.Item> <Breadcrumb.Item>
<Breadcrumb.Item> <a href="">Component</a>
<a href="">Component</a> </Breadcrumb.Item>
</Breadcrumb.Item> <Breadcrumb.Item overlay={menu}>
<Breadcrumb.Item overlay={menu}> <a href="">General</a>
<a href="">General</a> </Breadcrumb.Item>
</Breadcrumb.Item> <Breadcrumb.Item>Button</Breadcrumb.Item>
<Breadcrumb.Item>Button</Breadcrumb.Item> </Breadcrumb>,
</Breadcrumb>
</div>,
mountNode, mountNode,
); );
``` ```