首页 > 解决方案 > 展开手风琴摘要时如何更改图标?

问题描述

我想根据手风琴是否展开来更改图标。

我在 CSS 具有 .Mui-expanded 的材料 ui 页面上看到,它可以看到扩展 = {true} 还是 false,但是当扩展是 true 或 false 时,我如何使用它来设置不同的图标。

所以我想在 expand 为 true 时设置 IconA ,如果 expand 为 false 则设置 IconB 。

expandIcon={<IconA/>}

标签: reactjstypescriptmaterial-uiaccordion

解决方案


您可以使用expandIcon可用于AccordionSummary组件的道具。设置条件如下:expandIcon={expanded === 'panel1'?<ExpandMoreIcon />:<Minimize/>}

<Accordion expanded={expanded === 'panel1'} onChange={handleChange('panel1')}>
    <AccordionSummary
      expandIcon={expanded === 'panel1'?<ExpandMoreIcon />:<Minimize/>}
      aria-controls="panel1bh-content"
      id="panel1bh-header"
    >
      <Typography className={classes.heading}>General settings</Typography>
      <Typography className={classes.secondaryHeading}>I am an accordion</Typography>
    </AccordionSummary>
    <AccordionDetails>
      <Typography>
        Nulla facilisi. Phasellus sollicitudin nulla et quam mattis feugiat. Aliquam eget
        maximus est, id dignissim quam.
      </Typography>
    </AccordionDetails>
  </Accordion>

此示例代码取自文档:https ://material-ui.com/components/accordion/#controlled-accordion


推荐阅读