有人可以告诉我这段代码有什么问题吗?当我运行模拟器时它运行正常,但是当我滑动以显示它不会显示的内容时。抽屉不工作。我做错了什么?
import React, { Component } from 'react';
import { Drawer } from 'native-base';
import { Navigator, View } from 'react-native';
export default class DrawerExample extends Component {
constructor(props) {
super(props);
this.state = {
toggled: false,
store: {},
theme: null
};
}
toggleDrawer() {
this.state.toggled ? this._drawer.close() : this._drawer.open();
}
openDrawer() {
this.setState({toggled: true});
}
closeDrawer() {
this.setState({toggled: false});
}
renderScene(route, navigator) {
switch(route) {
default: return null;
}
}
configureScene(route, routeStack) {
return Navigator.SceneConfigs.PushFromRight;
}
render() {
return (
<Drawer
ref={(ref) => this._drawer = ref}
type='displace'
content={<View style={{backgroundColor: '#000', height: 1000}} />}
onClose={this.closeDrawer.bind(this)}
onOpen={this.openDrawer.bind(this)}
openDrawerOffset={100}
>
<Navigator
ref={(ref) => this._navigator = ref}
configureScene={this.configureScene.bind(this)}
renderScene={this.renderScene.bind(this)}
/>
</Drawer>
);
}
}
答案 0 :(得分:8)
您可以使用panOpenMask={<value>}
实现此目的。
我用值.25
测试了它。
API说:
panOpenMask
(数字)null
- 有效的屏幕宽度比率 平移行动的开始。如果为null - >默认为max(.05, closedDrawerOffset)
编辑:
我的完整代码(在我自己的项目中)是:
<Drawer
ref={(ref) => { this._drawer = ref; }}
content={ navigationView }
side="right"
panOpenMask={.25}
>