如何解决如何在 Fluent UI 上下文菜单中使用 FluentUI React Northstar 图标
我们使用 Fluent UI React 上下文菜单,因为 Fluent UI northstar 库不包含上下文菜单组件。但是,我们想使用 Fluent UI northstar 库中的 MS Teams 图标,但我似乎找不到任何关于如何使用 JSX/Component 作为上下文菜单上图标的文档。任何想法如何实现这一点?
来自微软的相关文档: Fluent UI Context Menu Icon Property Fluent UI Northstar Icons
解决方法
上下文菜单有一个属性 contextualMenuItemAs
,您可以向它传递一个 menuItemTemplate 函数。以下是如何实现该功能的示例:
const menuItemTemplate: React.FunctionComponent<IContextualMenuItemProps> = menuItemProps => {
const getIcon = (key: string): JSX.Element => {
switch (key) {
case 'phone':
return <CallIcon outline />;
case 'chat':
return <ChatIcon outline />;
default:
return <span></span>;
}
}
return (
<div>
<span className={contextMenuItemIconStyle}>{getIcon(menuItemProps.item.key)}</span>
<span className={contextMenuItemTextStyle}>{menuItemProps.item.text}</span>
</div>
)};
然后,您必须设置自己的样式以设置这些菜单项跨度的样式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。