我有一个用 MATERIAL UI 4 制作的菜单,它由带有我的主菜单的第一个 TreeItem 和带有我的子菜单的第二个 TreeItem 组成。
我想为主菜单的每个标签添加一个特定的图标。
我能怎么做 ?
是否有可能当我单击两个下拉菜单时,默认情况下会重置第一个(无下拉菜单)。
{stoMenu && (
<TreeView
style={test.menu}
>
{Menu.root.children.map(test=> {
return (
<TreeItem
key={test.nodeId}
nodeId={test.nodeId}
label={test.text}
>
{test.children.map(child => {
return (
<TreeItem
key={child.nodeId}
nodeId={child.nodeId}
label={child.text}
>
<Redirect to={child.id} />
</TreeItem>
);
})}
</TreeItem>
);
})}
</TreeView>
)}
Run Code Online (Sandbox Code Playgroud) 我的菜单遇到了不同的问题。
对于初学者来说,在第一个 RETURN 中,我有一个带有 LISTITEM 和 LISTITETEXT 的 TREEITEM。
我在 LISTITETEXT 中放置了一个 OnClick,这样如果我的菜单 id 等于我授权重定向的值。
但是,重定向会重新加载页面,这不是我使用 React 时菜单的目的。
其次,我有另一个 RETURN,其中包含我的子菜单。
它显示正确,当我单击 TREETEM 时,我被重定向到正确的页面。
但是,我在控制台中出现错误:
警告:您尝试重定向到当前所在的同一路线:“/extranetV1/prospect”
{stoMenu && (
<TreeView
style={layout.menu}
defaultCollapseIcon={<ArrowDropDownIcon />}
defaultExpandIcon={<ArrowRightIcon />}
>
{stoMenu.root.children.map(menu => {
return (
<TreeItem
key={menu.nodeId}
nodeId={menu.nodeId}
label={
<ListItem style={layout.menuListItem} className={menu.iconCls}>
<ListItemText style={layout.menuText} primary={menu.text} onClick={() => {
if (menu.id === '/accueil') {
window.location.assign(menu.id);
}
}} />
</ListItem>
}
>
{menu.children.map(child => {
return (
<TreeItem
key={child.nodeId}
nodeId={child.nodeId}
label={child.text}
>
<Redirect to={child.id}/> …Run Code Online (Sandbox Code Playgroud)