Material ui 材料界面中的夹式抽屉

Material ui 材料界面中的夹式抽屉,material-ui,Material Ui,根据,物料界面支持持久抽屉。 但我的预期行为是像照片一样的一个被剪短的坚持的抽屉 我的边栏组件: import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui/styles'; import Drawer from 'material-ui/Drawer'; import List, { ListItem, ListItem

根据,物料界面支持持久抽屉。 但我的预期行为是像照片一样的一个被剪短的坚持的抽屉

我的边栏组件:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { withStyles } from 'material-ui/styles';
import Drawer from 'material-ui/Drawer';
import List, { ListItem, ListItemIcon, ListItemText } from 'material-ui/List';
import Face from 'material-ui-icons/Face';
import Person from 'material-ui-icons/Person';
import Assignment from 'material-ui-icons/Assignment';
import NavLink from 'react-router-dom/NavLink';
import { FormattedMessage } from 'react-intl';
import styles from '../../../../style/components/global/Sidebar.scss';

const cx = require('classnames/bind').bind(styles);

const rootStyles = theme => ({
  list: {
    width: 250,
    flex: 'initial',
  },
  drawer: {
    top: 30,
  },
});
class UndockedDrawer extends Component {
  render() {
    const { classes } = this.props;
    const sidebarListItems = (
      <div>
        <NavLink
          to="/users"
          className={cx('noStyle')}
        >
          <ListItem button>
            <ListItemIcon>
              <Person />
            </ListItemIcon>
            <ListItemText primary={<FormattedMessage id="user" />} />
          </ListItem>
        </NavLink>
      </div>
    );

    const sidebarList = (
      <div>
        <List className={classes.list}>
          {sidebarListItems}
        </List>
      </div>
    );

    return (
      <div>
        <Drawer
          open={this.props.open}
          onRequestClose={this.props.onRequestClose}
          onClick={this.props.onRequestClose()}
          type="permanent">
          {sidebarList}
        </Drawer>
      </div>
    );
  }
}

export default withStyles(rootStyles)(UndockedDrawer);
到目前为止,我已经尝试使top属性与AppBar的高度一样高,但这种行为并不是我所需要的


有没有办法做到这一点

您需要为AppBar提供正确的样式。例如:

而不是:

const styles = theme => ({
  ...
  appBar: {
    position: 'absolute',
    width: `calc(100% - ${drawerWidth}px)`,
    marginLeft: drawerWidth,
  },
  ...
});
使用:

为什么zIndex是1400?这只是一个比抽屉的zIndex高出1300的任意数字


您需要为AppBar提供正确的样式。例如:

而不是:

const styles = theme => ({
  ...
  appBar: {
    position: 'absolute',
    width: `calc(100% - ${drawerWidth}px)`,
    marginLeft: drawerWidth,
  },
  ...
});
使用:

为什么zIndex是1400?这只是一个比抽屉的zIndex高出1300的任意数字


Z指数的解释非常有用。精心设计的答案Z指数解释非常有用。精心设计的答案