material-ui overlay div抽象组件

时间:2017-12-20 01:13:09

标签: reactjs material-ui

我在React应用中使用了material-ui。我使用侧边菜单"抽屉"组件,但无法弄清楚如何在打开菜单后面包含半透明背景覆盖。

http://www.material-ui.com/#/components/drawer

2 个答案:

答案 0 :(得分:3)

停靠的示例显示没有背景的抽屉。

未对接的示例为抽屉提供了一个半透明的背景,在点击时隐藏了抽屉。

区别在于docked属性。如果为true,则抽屉将停靠,并且没有背景。如果为false,则背景将出现。

import React from 'react';
import Drawer from 'material-ui/Drawer';
import MenuItem from 'material-ui/MenuItem';
import RaisedButton from 'material-ui/RaisedButton';

export default class DrawerUndockedExample extends React.Component {

  constructor(props) {
    super(props);
    this.state = {open: false};
  }

  handleToggle = () => this.setState({open: !this.state.open});

  handleClose = () => this.setState({open: false});

  render() {
    return (
      <div>
        <RaisedButton
          label="Open Drawer"
          onClick={this.handleToggle}
        />
        <Drawer
          docked={false}
          width={200}
          open={this.state.open}
          onRequestChange={(open) => this.setState({open})}
        >
          <MenuItem onClick={this.handleClose}>Menu Item</MenuItem>
          <MenuItem onClick={this.handleClose}>Menu Item 2</MenuItem>
        </Drawer>
      </div>
    );
  }
}

查看Drawer demos and API docs了解详情。

注意:对于未来的读者,这涉及material-ui v0.x.版本1.0.0-beta24中的Drawer的最新版本已得到显着改进,并且更符合已发布的Material Design standards

答案 1 :(得分:2)

我发现这对我有用,我希望它有所帮助。 删除variant="persistent"