[英]How to change the menu item's color of sidebar when we click on it with Material-UI in React?
我是该框架的新手,我的目标是在单击侧栏中的菜单项之一时显示颜色。 如果我们点击表格组件,表格名称和图标应该变成白色。 任何人都可以帮助我如何在单击菜单项时更改颜色?
这是代码:
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);
实现:当点击标签时:
根据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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.