我正在使用DrawerLayoutAndroid并努力研究如何以编程方式打开和关闭它。
我看到你应该使用
openDrawer(0),但是如何引用DrawerLayoutAndroid
我有一个与文档完全相同的抽屉,然后在视图上有一个按钮,如果您按它,我希望它打开DrawerLayoutAndroid
我创建了这个功能
toggleDrawer(){
openDrawer(0);
};
但这显然行不通,只会引发错误。
最佳答案
您应该为此使用引用。我在这里粘贴示例供您参考
var DrawerExample = React.createClass({
openDrawer:function() {
this.refs['myDrawer'].openDrawer();
},
closeDrawer:function() {
this.refs['myDrawer'].closeDrawer();
},
render: function() {
var navigationView = (
<View style={{flex: 1, backgroundColor: '#fff'}}>
<Text style={{margin: 10, fontSize: 15, textAlign: 'left'}}>I'm in the Drawer!</Text>
<TouchableHighlight onPress={this.closeDrawer}>
<Text>{'Close Drawer'}</Text>
</TouchableHighlight>
</View>
);
return (
<DrawerLayoutAndroid ref="myDrawer"
drawerWidth={300}
drawerPosition={DrawerLayoutAndroid.positions.Left}
renderNavigationView={() => navigationView}>
<View style={{flex: 1, alignItems: 'center'}}>
<Text style={{margin: 10, fontSize: 15, textAlign: 'right'}}>Hello</Text>
<Text style={{margin: 10, fontSize: 15, textAlign: 'right'}}>World!</Text>
<TouchableHighlight onPress={this.openDrawer}>
<Text>{'Open Drawer'}</Text>
</TouchableHighlight>
</View>
</DrawerLayoutAndroid>
);
},
});
关于react-native - 以编程方式 react native 打开DrawerLayoutAndroid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38280313/