【发布时间】:2017-08-04 02:13:48
【问题描述】:
我第一次尝试在 React 项目中使用 Material-UI。我已经将 AppBar 放在一起来调用 Drawer,并且从侧边栏中显示菜单项列表。我面临的问题是它们的边距顶部间距很大。
间距示例
Close (X)
About
Contact
我希望这些都一个接一个。
Close (X)
About
Contact
我不确定是什么导致了额外的间距。我将一个与我现在使用的设计类似的模型放在一起,并且间距是正常的。我在下面包含了完整的组件。
代码
import React, { Component } from 'react'
import { Router, Route, Redirect, IndexRoute, Link, hashHistory } from 'react-router';
import AppBar from 'material-ui/AppBar'
import Menu from 'material-ui/Menu'
import MenuItem from 'material-ui/MenuItem'
import Drawer from 'material-ui/Drawer'
import FlatButton from 'material-ui/FlatButton'
class AppBars extends Component {
constructor(props) {
super(props)
this.state = {
open: false
}
}
//toggleDrawer = () => this.setState({open: !this.state.open});
toggleDrawer() {
this.setState({
open: !this.state.open,
});
}
render() {
return(
<div>
<AppBar
title="Advanced Surface Innovations"
onLeftIconButtonTouchTap={this.toggleDrawer.bind(this)}
/>
<Drawer open={this.state.open} onToggleDrawer={this.toggleDrawer.bind(this)}>
<MenuItem onTouchTap={this.toggleDrawer.bind(this)}>
CLOSE ( X )
</MenuItem>
<MenuItem onTouchTap={this.toggleDrawer.bind(this)}><Link to="/">
<FlatButton label="Home" primary={true} />
</Link>
</MenuItem>
<MenuItem onTouchTap={this.toggleDrawer.bind(this)}><Link to="/About">
<FlatButton label="About" primary={true} />
</Link>
</MenuItem>
<MenuItem onTouchTap={this.toggleDrawer.bind(this)}><Link to ="/Contact">
<FlatButton label="Contact" primary={true} />
</Link>
</MenuItem>
</Drawer>
</div>
)
}
}
class NavBar extends Component {
constructor(props) {
super(props)
this.state = {
nav: ''
}
}
handleScroll(event) {
console.log('handleScroll invoked');
}
componentDidMount() {
console.log('componentDidMount invoked');
window.addEventListener('scroll', this.handleScroll);
}
componentWillUnmount() {
console.log('componentWillUnmount invoked');
window.removeEventListener('scroll', this.handleScroll);
}
render() {
return (
<div>
<AppBars />
</div>
)
}
}
export default NavBar;
【问题讨论】:
-
我做了一个快速测试,看看抽屉是否会以你提到的方式呈现菜单项,但我无法重现那个大间距问题。
标签: css reactjs styles components material-ui