如何显示内容和侧边栏?

时间:2018-12-16 16:48:10

标签: html css reactjs

我在react语义中添加了侧边栏,但是Sidebar.Pusher内部的内容即使滚动后也无法正确显示,也无法完全显示。

<Sidebar.Pusher dimmed={visible}>
            <Segment basic className={styles.content}>
              <DashBoard/>
            </Segment>
          </Sidebar.Pusher>

完整代码:

export default class NavBar extends Component {
  state = { visible: false }

  handleHideClick = () => this.setState({ visible: false })
  handleShowClick = () => this.setState({ visible: true })
  handleSidebarHide = () => this.setState({ visible: false })

  render() {
    const { visible } = this.state

    return (
      <div>
      <Grid>
      <Grid.Row>
        <Grid.Column width={16}>
            <Icon name='content' disabled={visible} onClick={this.handleShowClick} size='big'/>
            <div className={styles.header}>
              <img
                src={require('../images/rccg_transparent_logo.png')}
                width="80"
                height="80"
                alt="logo"
              />
              <Header as="h2" className={styles.headerTitle}>
                RCCG Europe Mainland Region 3
              </Header>
            </div>
          </Grid.Column>
      </Grid.Row>
      </Grid>
        <Sidebar.Pushable as={Segment} className={styles.content} >
          <Sidebar
            as={Menu}
            animation='overlay'
            icon='labeled'
            inverted
            onHide={this.handleSidebarHide}
            vertical
            visible={visible}
            width='thin'
          >
            <Menu.Item as='a'>
              <Icon name='home' />
              Home
            </Menu.Item>
            <Menu.Item as='a'>
              <Icon name='gamepad' />
              Games
            </Menu.Item>
            <Menu.Item as='a'>
              <Icon name='camera' />
              Channels
            </Menu.Item>
          </Sidebar>

          <Sidebar.Pusher dimmed={visible}>
            <Segment basic className={styles.content}>
              <DashBoard/>
            </Segment>
          </Sidebar.Pusher>
        </Sidebar.Pushable>
      </div>
    )
  }
}

CSS:

.header {
    display: flex;
    margin-left: 500px;
    border-bottom: 2px;
    border-bottom-color: black;
}

.headerTitle {
    float: left;
    justify-content: center;
    margin-left: 50px !important;
}

.content {
    min-height: 100vh;
    overflow: scroll;
}

在下面的屏幕截图中,图表无法正确显示,为什么只有一半可见? 截图:

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

您需要更改仪表板的溢出属性。 溢出:滚动

答案 1 :(得分:0)

You need to put overflow:auto; property to the right side section not on full section.

<div class="app">
<div class="menu"></div>
<div class="content"></div>
</div>

<style>
.app{
height: 100vh;
}
.content{
overflow:auto;
}
</style>