微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Fluent UI 上下文菜单中使用 FluentUI React Northstar 图标

如何解决如何在 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 举报,一经查实,本站将立刻删除。