javascript - 尽管使用了 zIndex,React-native-paper 菜单仍隐藏在其他元素后面。我如何将元素置于顶部?

标签 javascript css reactjs react-native react-native-paper

我正在使用 react-native-paper 中的 Menu 组件作为 modal-header 上的选项菜单。

下面是模态的截图:

enter image description here

持有 Menu 的父标签有兄弟元素(标题下面的东西)。 似乎由于这种继承关系,菜单正在其他元素下呈现。 我尝试通过分配 possition:"absolute", zIndex: 100 来覆盖元素的重叠。 zIndex 对其重叠方式没有影响。我尝试将 zIndex 从 1 更改为 1500,但它也没有效果。

以下是菜单组件包装器 (ModalOptions) 的代码:

const ModalOptions = () => {
  const [visible, setVisible] = React.useState(false);
  const openMenu = () => setVisible(true);
  const closeMenu = () => setVisible(false);

  return (
    <Provider>
      <View>
        <Menu
          style={{ backgroundColor: "#222", borderWidth: 2, top:150, left:-100 , position: 'absolute', zIndex:100 }}
          visible={visible}
          onDismiss={closeMenu}
          anchor={
            <TouchableOpacity onPress={openMenu}>
              <ThreeDotIcon size={35} color={colors.darkGrey} />
            </TouchableOpacity>
          }>
          ...
        </Menu>
      </View>
    </Provider>
  );
};

我想我没有正确使用 zIndex ... 如果是这样,我应该如何使用它?

如果没有,有没有其他方法可以做到这一点?

或者我可能需要重新格式化代码以增加菜单的继承级别 但我真的不喜欢这样做。

最佳答案

您可以使用 View 来包装 style={{zIndex: 100}} 的提供者,如下所示

<View style={{zIndex: 100}}>
  <Provider>
      <View>
        <Menu
          style={{ backgroundColor: "#222", borderWidth: 2, top:150, left:-100 , position: 'absolute', zIndex:100 }}
          visible={visible}
          onDismiss={closeMenu}
          anchor={
            <TouchableOpacity onPress={openMenu}>
              <ThreeDotIcon size={35} color={colors.darkGrey} />
            </TouchableOpacity>
          }>
          ...
        </Menu>
      </View>
    </Provider>
</View>

关于javascript - 尽管使用了 zIndex,React-native-paper 菜单仍隐藏在其他元素后面。我如何将元素置于顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66696572/

相关文章:

reactjs - React Router - 使用片段的路由不起作用

javascript - 跨域的 jQuery AJAX 对于 Chrome 等工作正常,但不在 IE10 中发送数据,也不在 IE <= 9 中发送请求

jquery - jqGrid 不响应 hideCol 方法

html - css 优先级 : overriding only one of height and width

html - 使用 CSS 将两个 div 叠加显示

reactjs - 使用 useContext 钩子(Hook)时如何访问提供者值

javascript - 如何使用 ref 访问当前节点

javascript - 使用 jQuery 选项卡交换图像

javascript - 如何在javascript正则表达式中使用方括号中的字符串结尾?

javascript - Ionic + Angular 默认无法勾选ion-radio