По умолчанию "inset" свойство padding. Компонент ListItemText - PullRequest
1 голос
/ 17 октября 2019

Я создаю вложенный список в приложении React с использованием material-ui. Значение по умолчанию для отступа свойства inset - большое (56 пикселей), поэтому я пытаюсь переопределить это значение по умолчанию. Но я не могу. какие-либо предложения? Спасибо !!

     <Fragment>
        <ListItem button onClick={this.handleClick}>
          <ListItemText
            primary="Zones"            
            primaryTypographyProps={{ variant: 'subtitle2' }}
        />
          {this.state.open ? <ExpandLess /> : <ExpandMore />}
        </ListItem>
        <Collapse in={this.state.open} timeout="auto" unmountOnExit>
          <List component="div" disablePadding>
            <ListItem button             
              component={Link}
              to={`${this.props.match.url}/zone/all-zones`}
              onClick={THIS.handleMenuOpen}
            >
              <ListItemText
                inset                
                primary="Show all"
                primaryTypographyProps={{ variant: 'subtitle2' }}
              />
            </ListItem>
          </List>
        </Collapse>
      </Fragment>

Ответы [ 2 ]

0 голосов
/ 17 октября 2019
Group-Menu

        <List component="nav" aria-label="patient-group">
            <ListItem>
                <ListItemText
                    primary="patients"
                    primaryTypographyProps={{variant:'button' }}
                />
            </ListItem>
            <PatientMenu />
            <Divider />
            <ListItem>
                <ListItemText
                    primary="delivery sheets"
                    primaryTypographyProps={{ variant: 'button' }}
                />
            </ListItem>
            <DeliverySheetMenu />
        </List>


 Patient-Menu
      <Fragment>
        <List component="div" disablePadding>
          <ListItem button
            component={Link}
            to={`${this.props.match.url}/patient/all_patients`}
            onClick={this.handleOnClick};              
          >
            <ListItemText 
              className='nested'
              style={{paddingLeft: 20 }}                      
              primary="Show all" 
              primaryTypographyProps={{variant:'subtitle2'}}
            />
          </ListItem>
        </List>
      </Fragment>
0 голосов
/ 17 октября 2019

Назначение вставки на ListItemText заключается в выравнивании текста элементов, у которых нет значка, с текстом элементов (см. Демонстрационную версию Inset List * 1005). *). Это , а не для отступа элементов вложенного списка.

Если вы посмотрите демонстрационную версию Nested List , вы обнаружите, что отступ выполняется с помощью paddingLeft, примененного квложенные элементы списка. В демонстрационной версии это значение равно 32px (theme.spacing(4)), но вы можете установить для него любое значение.

Вот код из демонстрационной программы Nested List:

import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import ListSubheader from "@material-ui/core/ListSubheader";
import List from "@material-ui/core/List";
import ListItem from "@material-ui/core/ListItem";
import ListItemIcon from "@material-ui/core/ListItemIcon";
import ListItemText from "@material-ui/core/ListItemText";
import Collapse from "@material-ui/core/Collapse";
import InboxIcon from "@material-ui/icons/MoveToInbox";
import DraftsIcon from "@material-ui/icons/Drafts";
import SendIcon from "@material-ui/icons/Send";
import ExpandLess from "@material-ui/icons/ExpandLess";
import ExpandMore from "@material-ui/icons/ExpandMore";
import StarBorder from "@material-ui/icons/StarBorder";

const useStyles = makeStyles(theme => ({
  root: {
    width: "100%",
    maxWidth: 360,
    backgroundColor: theme.palette.background.paper
  },
  nested: {
    paddingLeft: theme.spacing(4)
  }
}));

export default function NestedList() {
  const classes = useStyles();
  const [open, setOpen] = React.useState(true);

  const handleClick = () => {
    setOpen(!open);
  };

  return (
    <List
      component="nav"
      aria-labelledby="nested-list-subheader"
      subheader={
        <ListSubheader component="div" id="nested-list-subheader">
          Nested List Items
        </ListSubheader>
      }
      className={classes.root}
    >
      <ListItem button>
        <ListItemIcon>
          <SendIcon />
        </ListItemIcon>
        <ListItemText primary="Sent mail" />
      </ListItem>
      <ListItem button>
        <ListItemIcon>
          <DraftsIcon />
        </ListItemIcon>
        <ListItemText primary="Drafts" />
      </ListItem>
      <ListItem button onClick={handleClick}>
        <ListItemIcon>
          <InboxIcon />
        </ListItemIcon>
        <ListItemText primary="Inbox" />
        {open ? <ExpandLess /> : <ExpandMore />}
      </ListItem>
      <Collapse in={open} timeout="auto" unmountOnExit>
        <List component="div" disablePadding>
          <ListItem button className={classes.nested}>
            <ListItemIcon>
              <StarBorder />
            </ListItemIcon>
            <ListItemText primary="Starred" />
          </ListItem>
        </List>
      </Collapse>
    </List>
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...