如何从材质 ui 列表项中删除默认填充?

Pan*_*iou 11 material-ui

Material ui 在 List 和 ListItem 上添加默认填充如何删除它?对资源的任何帮助或方向将不胜感激。

Arn*_*ist 10

您可以覆盖组件的rootListItem并传递所需的填充。

const styles = theme => ({
  root: {
    width: "100%",
    maxWidth: 360,
    backgroundColor: theme.palette.background.paper
  },

  item: {
    padding: 0
  }
});

function SimpleList(props) {
  const { classes } = props;
  return (
    <div className={classes.root}>
      <List component="nav">
        <ListItem button classes={{ root: classes.item }}>
          <ListItemText primary="Item 01" />
        </ListItem>
        <ListItem button classes={{ root: classes.item }}>
          <ListItemText primary="Item 02" />
        </ListItem>
        <ListItem button classes={{ root: classes.item }}>
          <ListItemText primary="Item 03" />
        </ListItem>
      </List>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

请参阅工作示例


jri*_*r27 7

对于其他人来说,从列表中删除默认填充的简单方法是使用List Component上的disablePadding道具。

https://material-ui.com/api/list/

在此处输入图片说明


    import React from 'react'
    import List from '@material-ui/core/List'
    import ListItem from '@material-ui/core/ListItem'
    import ListItemText from '@material-ui/core/ListItemText'
    
    function Sidebar() {
      return (
        <List disablePadding>
          <ListItem button>
            <ListItemText>Home</ListItemText>
          </ListItem>
          <ListItem button>
            <ListItemText>Billing</ListItemText>
          </ListItem>
          <ListItem button>
            <ListItemText>Settings</ListItemText>
          </ListItem>
        </List>
      )
    }
    
    export default Sidebar

Run Code Online (Sandbox Code Playgroud)


Ian*_*ith 5

如果您只是使用ListItem组件,则可以使用disableGutters(布尔)属性来禁用左右填充,如 API 文档所示: https: //material-ui.com/api/list-item/

<ListItem disableGutters={true} button={true} key='Home' component={Link} to={"/"} selected={'/' === pathname}>
   <ListItemIcon><Home /></ListItemIcon>
   <ListItemText primary='Home' />
</ListItem>
Run Code Online (Sandbox Code Playgroud)