2016-06-08 3 views
9

Я использую реакцию и материал-ui в своем проекте, и я столкнулся с простой проблемой, которую я просто не знаю, как ее решить. Я хочу создать ящик и установить его высоту таким образом, что когда он откроется, он не откроется поверх панели приложений.Материал-ui изменить высоту выдвижного ящика

Там нет параметра в компоненте выдвижного ящика для высоты, я также пытался отменить свой стиль и настройки высоты на объекте стиля, как это:

<Drawer style={{height:'90%'}} /> 

Но это не сработало.

Единственный способ, о котором я могу думать, - редактировать код компонента Ящика, но, конечно, я хочу этого избежать.

Любая идея о том, как я могу определить высоту?

+0

Вы пробовали обернуть его в div и изменить его высоту? – ZekeDroid

ответ

27

Здесь вы идете:

<Drawer open={this.state.open} containerStyle={{height: 'calc(100% - 64px)', top: 64}}> 
    <MenuItem>Menu Item</MenuItem> 
    <MenuItem>Menu Item 2</MenuItem> 
</Drawer> 
+1

Спасибо, я не могу ответить +1 на ваш ответ, потому что мне не хватает репутации, я сделаю это, когда смогу –

+0

Любая идея, как получить zDepth в минус ?? – Zohair

+0

Привет, друг, отлично работает! – stoerebink

3

containerStyle запрещен в версии 1.0 и выше

Таким образом, вы должны использовать реквизит классов вместо

Вот пример этому нетривиального случае

import {withStyles, createStyleSheet} from 'material-ui/styles' 
const styleSheet = createStyleSheet({ 
    paper: { 
    height: 'calc(100% - 64px)', 
    top: 64 
    } 
}) 
class CustomDrawer extends Component { 
    ... 
    render() { 
    const classes = this.props.classes 
    return (
     <Drawer 
     classes={{paper: classes.paper}} 
     > 
     ... 
    ) 
} 

CustomDrawer.propTypes = { 
    classes: PropTypes.object.isRequired 
} 

export default withStyles(styleSheet)(CustomDrawer) 
+0

«Бумага» - это ребенок док-станции, высота должна быть на «ящике» ключа 'classes = {{docked: classes.paper}}' –

Смежные вопросы