是否可以禁用“Drawer.Screen”,使其无法被单击(React Native)?

问题描述 投票:0回答:1

enter image description here 是否可以禁用“调查表”,使其无法被点击? 我在 React Native 应用程序中使用 React Navigation 进行抽屉导航。我有一个 Drawer.Screen 组件,我试图根据特定条件禁用对导航项的点击。 我试试这个代码

> <Drawer.Screen
name="SurveyForm"
component={activeSurvey === 'active' ? SurveyForm : HomePage}
options={{
headerShown: false,
drawerLabel: '- Survey Form',
drawerLabelStyle: {
color: activeSurvey === 'active' ? '#2D2D2D' : '#808080',
 },
}}
/>
android react-native react-navigation
1个回答
0
投票

为了防止进入点击的抽屉屏幕,您可以使用下面的侦听器

React.useEffect(() => {
  const unsubscribe = navigation.addListener('drawerItemPress', (e) => {
    // Prevent default behavior
    e.preventDefault();

    // Do something manually
    // ...
  });

  return unsubscribe;
}, [navigation]);

检查 React 导航文档中的 drawerItemPress

您必须将该屏幕条件放入侦听器中,然后在这种情况下调用

e.preventDefault();

© www.soinside.com 2019 - 2024. All rights reserved.