Skip to content

Commit cd512a4

Browse files
committed
improved the icon render options
it can use an icon component or an icon name
1 parent 6feeec1 commit cd512a4

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/templates/Drawer/DrawerItemsList/DrawerItemsList.jsx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,23 @@ class DrawerItemsList extends React.PureComponent {
1212
items: PropTypes.arrayOf(PropTypes.shape({})),
1313
classes: PropTypes.shape({}),
1414
};
15+
16+
renderIcon = (item) => {
17+
if (item.icon) {
18+
return <item.icon />;
19+
} else if (item.iconName) {
20+
return <Icon>{item.iconName}</Icon>;
21+
}
22+
return <Icon>arrow_right</Icon>;
23+
};
24+
1525
render() {
1626
const { items, classes } = this.props;
1727
return (
1828
<List className={classes.list}>
1929
{map(items, item => (
2030
<ListItem button onClick={item.onClick} key={`item-${item.label}`}>
21-
<ListItemIcon>
22-
{item.icon ? <Icon>{item.icon}</Icon> : <Icon>arrow_right</Icon>}
23-
</ListItemIcon>
31+
<ListItemIcon>{this.renderIcon(item)}</ListItemIcon>
2432
<ListItemText primary={item.label} />
2533
</ListItem>
2634
))}

0 commit comments

Comments
 (0)