NativeBase抽屉滑动不起作用

时间:2017-02-22 06:29:26

标签: reactjs react-native native-base

有人可以告诉我这段代码有什么问题吗?当我运行模拟器时它运行正常,但是当我滑动以显示它不会显示的内容时。抽屉不工作。我做错了什么?

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>
      );
      }
      }

1 个答案:

答案 0 :(得分:8)

您可以使用panOpenMask={<value>}实现此目的。 我用值.25测试了它。

API说:

  

panOpenMask(数字)null - 有效的屏幕宽度比率   平移行动的开始。如果为null - >默认为max(.05, closedDrawerOffset)

编辑:

我的完整代码(在我自己的项目中)是:

<Drawer
   ref={(ref) => { this._drawer = ref; }}
   content={ navigationView }
   side="right"
   panOpenMask={.25}
>