Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

302
Views
Is there a way I can combine two icons, one on top of the other, as the IconComponent in Table header using Material UI

I am trying to build a table where I have an up/down triangle icon next to the column instead of default up arrow after the column name to indicate sorting. I went through the material-ui docs and read that the IconComponent prop can be used to give an icon other than the default, but I couldn't find a way to combine two icons, one on top of the other, and pass them in as the IconComponent prop.

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

Here is what I have tried on CodeSandBox.

about 4 years ago · Santiago Gelvez
1 answers
Answer question

0

You can create a new component which is called Icon, which stacks the two icons using a flexbox container:

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

And use it as IconComponent prop in TableSortLabels:

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

Edit EnhancedTable Material Demo (forked)

about 4 years ago · Santiago Gelvez Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!