ReactNative如何禁用单击抽屉菜单项

培曼F.

抽屉菜单设置如下。我如何禁用在第一个Drawer.Screen上的单击?它必须显示一个图像!

我也如何以编程方式隐藏一个元素?

    <Drawer.Navigator
      initialRouteName="Feed"
      drawerPosition="right"
           drawerStyle={{
            backgroundColor: '#c7c4b8',
            width: 240,
          }}
       overlayColor="transparent">

      <Drawer.Screen
        name="Profile2"
        component={Profile2}
        options={{ drawerLabel: '', drawerIcon: ({ focused, size }) => (
            <Image source={require('./images/3.jpg')}   resizeMode={'cover'}  style={{ width: '100%', height: 200 }} />) 
        }}
      />

      <Drawer.Screen
        name="Home"
        component={Notifications}
        options={{ drawerLabel: 'Feed' }}
      />
      <Drawer.Screen
        name="Routes"
        component={Profile}
options={{ drawerLabel: 'Routes' }}
      />
    </Drawer.Navigator>
安东尼·威利斯·穆尼奥斯

对于添加页眉或任何您想要的内容,您应该使用抽屉内容道具,然后您就可以制作自定义抽屉或操作现有的抽屉,如下例所示。

对于以编程方式显示/隐藏抽屉中的屏幕,您可以将其与useState一起使用,或者通过redux存储并有条件地呈现或不呈现,请记住,导航器只是一个react组件。

我也让你吃点零食,也可以在线检查。https://snack.expo.io/@anthowm/drawer-navigation-%7C-react-navigation

import * as React from 'react';
import {useState} from 'react';
import { View, Text, Image } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import {
  createDrawerNavigator,
  DrawerContentScrollView,
  DrawerItemList,
  DrawerItem,
} from '@react-navigation/drawer';

function Feed() {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text>Feed Screen</Text>
    </View>
  );
}

function Article() {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text>Article Screen</Text>
    </View>
  );
}

function CustomDrawerContent(props) {
  return (
    <DrawerContentScrollView {...props}>
       <Image source={{
          uri: 'https://reactnative.dev/img/tiny_logo.png',
        }}   resizeMode={'cover'}  style={{ width: '100%', height: 200 }} />
      <DrawerItemList {...props} />
      <DrawerItem
        label="Hide Screen"
        onPress={() => props.setShow(false)}
      />
    </DrawerContentScrollView>
  );
}

const Drawer = createDrawerNavigator();

function MyDrawer() {
  const [show, setShow] = useState(true);

  return (
    <Drawer.Navigator drawerContent={props => <CustomDrawerContent setShow={setShow} {...props} />}>
      <Drawer.Screen name="Feed" component={Feed} />
      {show && <Drawer.Screen name="Article" component={Article} />}
    </Drawer.Navigator>
  );
}

export default function App() {
  return (
    <NavigationContainer>
      <MyDrawer />
    </NavigationContainer>
  );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何单击材料导航抽屉菜单项上的活动

来自分类Dev

单击时,导航抽屉菜单项不应更改颜色

来自分类Dev

Xamarin 导航抽屉菜单项单击事件未处理

来自分类Dev

单击 Aurelia UI 中的菜单项后,如何让抽屉滑入

来自分类Dev

如何禁用Alfresco主菜单项?

来自分类Dev

单击某个菜单项时禁用其他菜单项c#

来自分类Dev

单击某个菜单项时禁用其他菜单项c#

来自分类Dev

如何为导航抽屉的菜单项赋予颜色?

来自分类Dev

如何以编程方式隐藏导航抽屉菜单项?

来自分类Dev

使用 Adwaita-dark 时,如何修复禁用的右键单击菜单项的模糊外观?

来自分类Dev

Apple Script - 如何单击按钮菜单内的菜单项?

来自分类常见问题

单击菜单项后,导航栏抽屉菜单未关闭

来自分类Dev

单击菜单项后,导航栏抽屉菜单未关闭

来自分类Dev

更改导航抽屉菜单项的颜色

来自分类Dev

如何禁用底部导航视图的菜单项?

来自分类Dev

如何禁用Excel上下文菜单项

来自分类Dev

动态添加的菜单项在导航抽屉中单击时消失

来自分类Dev

单击菜单项时如何执行动作?

来自分类Dev

如何知道在引导程序中单击了哪个菜单项

来自分类Dev

仅在单击按钮时如何对菜单项执行操作

来自分类Dev

如何识别已在React中单击了哪个菜单项?

来自分类Dev

如何安排菜单项?

来自分类Dev

如何访问菜单项?

来自分类Dev

如何删除菜单项?

来自分类Dev

如何删除菜单项?

来自分类Dev

Java 菜单抽屉中的参考菜单项

来自分类Dev

Bootstrap主题禁用菜单项

来自分类Dev

处理弹出菜单项单击

来自分类Dev

JavaFX:右键单击菜单项