问题描述
我试图在我的导航栏中使用自定义 svg 文件,但当时无法渲染。我正在使用 fluentui-react
onLinkClick={onLinkClick}
className="menuLinks"
selectedKey={'quickStart'}
ariaLabel="Nav bar"
styles={navStyles}
groups={navLinkGroups}
/>
................................
export const navLinkGroups: INavLinkGroup[] = [
{
links: [
{
name: 'Home',url: '',key: 'home',desc: 'Home',icon: '' //--> need to render custom icon here
}
]}
我曾尝试使用“office-ui-fabric-react/lib/Styling”中的“registerIcons”,但它对我不起作用。
请帮我解决这个问题。
解决方法
icon
内的属性 INavLink
保留用于 FluentUI 图标。更多信息here。
如果您想为特定菜单项呈现自定义图标,您需要在 onRenderLink
中使用 Nav component
属性:
const renderCustomMenuItem = (props,defaultRender) => {
// Set custom icon for documents menu item.
if(props.name === 'Documents') {
return (
<div>
<img src={mySVGIcon} />
<span>{props.name}</span>
</div>
)
} else {
return defaultRender(props);
}
}
<Nav
...
onRenderLink={renderCustomMenuItem}
/>