2

我正在使用 react-native-popup-menu 制作移动应用程序。(React Native) 弹出单元在 iOS 上运行良好。但是当我在 Android 模拟器上测试它时,它不会在 Android 上购物。

我看到一篇帖子建议修复涉及 MenuContext> 元素。但看起来该元素已被插件开发人员弃用。

弹出菜单不会覆盖 Android 中的其他组件

我正在寻找适用于 React Native Android 环境的最新解决方案。

我的应用现在看起来像这样:

导入所有工具。

import { MenuProvider } from 'react-native-popup-menu';
import { Menu, MenuOptions, MenuOption, MenuTrigger } from 'react-native-popup-menu';

主应用程序如下所示。一切都包含在 MenuProvider 中。

export class App1 extends Component {
render() {
 return (
  <MenuProvider>
  <View style={styles.container}>
  <MoreStuff navigation={this.props.navigation} />
  <TopMenu1 navigation={this.props.navigation} />
  <View1Map />
  </View>
  </MenuProvider>
 );
}
}

这是我构建弹出菜单的地方。我正在按照官方教程中的示例进行操作。

https://github.com/instea/react-native-popup-menu

按出现顺序,我有 View> 元素,然后是 Menu>、MenuTrigger>、MenuOptions> 和 MenuOption>。

export class MoreStuff extends Component {

  render(){ 
    return (
<View>
  <Menu>
  <MenuTrigger>
  <Image 
      source={require('./assets/Burger.png')} 
      >
      </Image>
  </MenuTrigger>

  <MenuOptions>
    <MenuOption 

    onSelect={() => {
        //DEFINT ACTION HERE
      }} text='Item 1' />

      <MenuOption onSelect={() => {
        //DEFINE ACTION HERE
      }} text='Item 2' />



      <MenuOption text='Close'
  onSelect={() => this.close}/>

  </MenuOptions>
</Menu>
</View>

);

}
}

预期:当您单击 MenuTrigger 元素时,将弹出菜单。实际结果:当您单击 MenuTrigger 元素时,什么也没有发生。

4

1 回答 1

1

您可以通过确保这MenuProvider是在树中呈现的第一个组件来解决此问题。

于 2019-08-10T18:59:22.287 回答