为了账号安全,请及时绑定邮箱和手机立即绑定

在 React 中使用 Material-UI 单击时如何更改侧边栏菜单项的颜色?

在 React 中使用 Material-UI 单击时如何更改侧边栏菜单项的颜色?

DIEA 2023-10-04 16:57:50
我是该框架的新手,我的目标是当我单击侧栏中的菜单项之一时显示颜色。如果我们单击表格组件,则表格名称和图标应变为白色。谁能帮助我如何在单击菜单项时更改颜色?这是代码:class Sidebar extends React.Component {  constructor(props) {    super(props);    this.state = {      selectedIndex: 0    };  }  handleListItemClick = (event, index) => {    this.setState({      selectedIndex: index    });  };  render() {    const { className, classes, onSidebarOpen, ...rest } = this.props;    return (      <div className={classes.root}>        <Drawer          className={classes.drawer}          variant="permanent"          classes={{            paper: classes.drawerPaper          }}        >          <div className={classes.toolbar} />          <List>            {["table", "organisation"].map((item, index) => {              const Icon = itemsConfig[item].icon;              return (                <ListItem                  component={Link}                  to={itemsConfig[item].link}                  selected={index === this.state.selectedIndex}                  onClick={event => this.handleListItemClick(event, index)}                  button                  key={item}                >                  <ListItemIcon>                    <Icon />                  </ListItemIcon>                  <ListItemText primary={itemsConfig[item].text} />                </ListItem>              );            })}          </List>        </Drawer>      </div>    );  }}export default withStyles(styles)(Sidebar);
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

实现:单击选项卡时:

  • 将背景更改为灰色

  • 将图标更改为白色


根据设置条件样式the state of the selected index就可以了。


<ListItem

  ...

  style={

    selectedIndex === index ? { backgroundColor: "grey" } : {}

  }

>

  <ListItemIcon>

    <Icon

      style={selectedIndex === index ? { color: "white" } : {}}

    />

  </ListItemIcon>

  <ListItemText primary={itemsConfig[item].text} />

</ListItem>


查看完整回答
反对 回复 2023-10-04
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信