|
@@ -19,8 +19,7 @@ import NavContext, { NavContextType } from './nav-context';
|
|
|
import Dropdown from '../dropdown';
|
|
|
|
|
|
const clsPrefix = `${cssClasses.PREFIX}-item`;
|
|
|
-interface NavItemProps extends ItemProps, BaseProps {
|
|
|
- children?: React.ReactNode;
|
|
|
+interface NavItemProps extends ItemProps, Omit<BaseProps, 'children'> {
|
|
|
disabled?: boolean;
|
|
|
forwardRef?: (ele: HTMLLIElement) => void;
|
|
|
icon?: React.ReactNode;
|
|
@@ -57,7 +56,6 @@ export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
|
|
|
onClick: PropTypes.func,
|
|
|
onMouseEnter: PropTypes.func,
|
|
|
onMouseLeave: PropTypes.func,
|
|
|
- children: PropTypes.node,
|
|
|
icon: PropTypes.oneOfType([PropTypes.node]),
|
|
|
className: PropTypes.string,
|
|
|
toggleIcon: PropTypes.string,
|
|
@@ -180,7 +178,6 @@ export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
|
|
|
render() {
|
|
|
const {
|
|
|
text,
|
|
|
- children,
|
|
|
icon,
|
|
|
toggleIcon,
|
|
|
className,
|
|
@@ -204,6 +201,11 @@ export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
|
|
|
|
|
|
|
|
|
let itemChildren = null;
|
|
|
+ // Children is not a recommended usage and may cause some bug-like performance, but some users have already used it, so here we only delete the ts definition instead of deleting the actual code
|
|
|
+ // children 并不是我们推荐的用法,可能会导致一些像 bug的表现,但是有些用户已经用了,所以此处仅作删除 ts 定义而非删除实际代码的操作
|
|
|
+ // refer https://github.com/DouyinFE/semi-design/issues/2710
|
|
|
+ // @ts-ignore
|
|
|
+ const children = this.props?.children;
|
|
|
if (!isNullOrUndefined(children)) {
|
|
|
itemChildren = children;
|
|
|
} else {
|