import ConfigProvider from '../config-provider'; import Dropdown from '../dropdown'; import React, { Component, ReactNode } from 'react'; import cls from 'classnames'; import { Icon } from '../index'; import { Breadcrumb as NextBreadcrumb } from '@alifd/next'; import { ItemProps as NextBreadcrumbItemProps } from '@alifd/next/types/breadcrumb'; import { BreadcrumbProps as NextBreadcrumbProps } from '@alifd/next/types/breadcrumb'; interface BreadcrumbItemProps extends NextBreadcrumbItemProps { overlay?: ReactNode; separator?: ReactNode; rtl?: boolean; activated?: boolean; } class BreadcrumbItem extends Component { static Separator({ prefix, children }) { return {children}; } render() { const { overlay } = this.props; const { prefix = 'next-', className, rtl, children, activated, separator, ...otherProps } = this.props; // overlay 模式 if (overlay) { const clazz = cls( `${prefix}breadcrumb-text ${prefix}breadcrumb-text-overlay`, className, { activated, }, ); const childDom = children => { return ( {children} ); }; return (
  • {overlay} {activated ? null : BreadcrumbItem.Separator({ prefix, children: separator })}
  • ); } return ( ); } } class Breadcrumb extends Component { static Item = ConfigProvider.config(BreadcrumbItem); render() { return ; } } export default ConfigProvider.config(Breadcrumb);