Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛[BUG] 左侧栏目一级菜单没显示 #793

Open
gogo1008 opened this issue Mar 10, 2023 · 8 comments
Open

🐛[BUG] 左侧栏目一级菜单没显示 #793

gogo1008 opened this issue Mar 10, 2023 · 8 comments

Comments

@gogo1008
Copy link

分支

master

问题

image

@gogo1008
Copy link
Author

导致原因
image
1、如下代码有问题,注释掉可以,但是二级图标不显示
if (defaultDom) {
// @ts-ignore
const menuItem = React.cloneElement(defaultDom, {
// @ts-ignore
children: [
<AIcon type={menuItemProps.icon as string} size={16} key={menuItemProps.key} />,
defaultDom.props.children[1],
],
...props,
});
return menuItem;
}

@gogo1008
Copy link
Author

image

@gogo1008
Copy link
Author

简单修复(三级没验证):
image
Uploading image.png…
const MenuItemIcon = (
menuItemProps: any,
defaultDom: React.ReactNode,
props: any,
): React.ReactNode => {
if (defaultDom&&(menuItemProps.children||[]).length===0) {
// @ts-ignore
const menuItem = React.cloneElement(defaultDom, {
// @ts-ignore
children: [
<AIcon type={menuItemProps.icon as string} size={16} key={menuItemProps.key} />,
defaultDom.props.children[1],
],
...props,
});
return menuItem;
}
return defaultDom;
};

1 similar comment
@gogo1008
Copy link
Author

简单修复(三级没验证):
image
Uploading image.png…
const MenuItemIcon = (
menuItemProps: any,
defaultDom: React.ReactNode,
props: any,
): React.ReactNode => {
if (defaultDom&&(menuItemProps.children||[]).length===0) {
// @ts-ignore
const menuItem = React.cloneElement(defaultDom, {
// @ts-ignore
children: [
<AIcon type={menuItemProps.icon as string} size={16} key={menuItemProps.key} />,
defaultDom.props.children[1],
],
...props,
});
return menuItem;
}
return defaultDom;
};

@gogo1008
Copy link
Author

image

@marshalby2
Copy link

老哥解决了么

@dengwz7788
Copy link

这里还有问题,这样会在第四级菜单之后,第三级的菜单的icon会丢失
if ( defaultDom ) {
// @ts-ignore
if((menuItemProps.children||[]).length == 0){
const menuItem = React.cloneElement(defaultDom, {
// @ts-ignore
children: [
<AIcon
type={menuItemProps.icon as string}
size={16}
style={{ fontSize: '16px', color: '#CED0D6' }}
key={menuItemProps.key}
/>,
defaultDom.props.children[1],
],
...props,
});
return menuItem;
} else {
const menuItem = React.cloneElement(defaultDom, {
// @ts-ignore
children: [
<AIcon
type={menuItemProps.icon as string}
size={16}
style={{ fontSize: '16px', color: '#CED0D6' }}
key={menuItemProps.key}
/>,
defaultDom.props.children[1],
],
});
return menuItem;
}
}

@dengwz7788
Copy link

props里面的有属性影响到了渲染,目前还没有成功定位出来,仅仅是通过过滤,先修复BUG,再看看问题出在哪里。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants