【发布时间】:2019-09-16 08:56:35
【问题描述】:
我正在尝试在右上角的抽屉内添加箭头后退按钮,它会在按下时关闭抽屉。我不确定我这样做是否正确?或者我应该在 Drawer 中放置一个 Stack Navigator 作为标题?如果有人帮助我,我会很高兴。
我正在使用 react-navigation V3。
这是我的代码:
import React from 'react';
import { Platform, Dimensions, View, Text, StyleSheet } from 'react-native';
import { createDrawerNavigator, createAppContainer, DrawerItems } from 'react-navigation';
import {Header, Button} from 'react-native-elements';
import Icon from 'react-native-vector-icons/FontAwesome';
import Header2 from './Header2'
class MenuButton1 extends React.Component {
render () {
const { onDrawerOpen } = this.props;
return (
<React.Fragment>
<Button
icon={
<Icon
name="bars"
size={30}
color="white"
/>
}
onPress={() => onDrawerOpen()}
/>
</React.Fragment>
)
}
}
class HomeScreen extends React.Component {
render(){
return (
<React.Fragment>
<Header
leftComponent={
<MenuButton1 onDrawerOpen = {() => this.props.navigation.openDrawer()}/>
}/>
<View style={{top: 30 }}>
<Text> Hello </Text>
</View>
</React.Fragment>
);
}
}
const CustomDrawerContentComponent = (props) => (
<View style={{top:40}}>
<Header
leftComponent={
<Button
icon={
<Icon
name="arrow-left"
size={30}
color="black"
/>
}
onPress= {() => this.props.navigation.closeDrawer()}/>}
/>
<Text>Custom Header</Text>
<DrawerItems {...props} />
</View>
),
WIDTF = Dimensions.get('window').width;
const DrawerConfig = {
drawerWidth: WIDTF*0.80,
draertType: 'slide'
}
const Drawer = createDrawerNavigator ({
Home: {
screen: HomeScreen
},
About: {
screen: Header2
}
},
DrawerConfig,
{
contentComponent: CustomDrawerContentComponent
});
export default createAppContainer (Drawer);
但它没有出现。
【问题讨论】:
-
onPress Home 调用 toggleDrawer()
-
我想要抽屉里的另一个按钮,例如'back-arrow',它可以按下关闭抽屉
-
你正在使用 react-native-elements 中的
让我想一个解决方案 -
或者如果有办法在 contentComponent header 或者 headerRight 中使用,类似这样的
-
让我查看他们的文档
标签: react-native react-navigation