javascript - 有没有一种方法可以使用 Material UI 组合两个图标,一个在另一个之上,作为表头中的 IconComponent

标签 javascript css reactjs material-ui

我正在尝试构建一个表,其中列旁边有一个向上/向下三 Angular 形图标,而不是列名称后面的默认向上箭头来指示排序。我浏览了material-ui文档并了解到 IconComponent 属性可用于提供默认图标之外的图标,但我找不到一种方法来组合两个图标(一个在另一个顶部)并将它们传递进去作为 IconComponent 属性。

Table column showing the header text 'activity' with an up triangle icon and a down triangle icon stacked on top of each other

这是我尝试过的CodeSandBox .

最佳答案

您可以创建一个名为 Icon 的新组件,它使用 Flexbox 容器堆叠两个图标:

const Icon = () => {
  return (
    <span
      style={{
        display: "flex",
        flexDirection: "column",
        justifyContent: "Center",
        alignItems: "Center",
        marginLeft: "5px"
      }}
    >
      <KeyBoardUpIcon fontSize="12" />
      <KeyBoardDownIcon fontSize="12" />
    </span>
  );
};

并将其用作 TableSortLabel 中的 IconComponent 属性:

 <TableSortLabel
      active={true}
      direction={orderBy === headCell.id ? order : "asc"}
      IconComponent={Icon}
      onClick={createSortHandler(headCell.id)}
    >

Edit EnhancedTable Material Demo (forked)

关于javascript - 有没有一种方法可以使用 Material UI 组合两个图标,一个在另一个之上,作为表头中的 IconComponent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70299629/

相关文章:

javascript - 发布 base64 数据 JavaScript/jQuery

jquery - 取消选中已选中的一项上的其他复选框,但选中标记未删除

html - 在两行之间制作小标题

javascript - 传递给组件的 prop 返回未定义

javascript - 为什么 props 渲染为未定义?

javascript - 如何清除/禁用次要和警告控制台日志错误?

javascript - 是否可以与位于与 html5 网站呈现的服务器不同的服务器中的 websocket 进行通信?

javascript - 调用 OnChange 时运行 jquery 函数

javascript - 除非虚拟 echo 语句就位,否则不会调用 Sweet Alert

css - 无法选择(单击)子菜单项