react-native:平面列表中具有zIndex的组件似乎不起作用

时间:2019-05-07 10:42:05

标签: react-native react-native-android react-native-flatlist react-native-stylesheet

主要渲染:

  render() {
    return (

    <View>
      <FlatList
      ListEmptyComponent={() => <DialogBox type="internet" />}
      ...
    </View>
     );

<DialogBox type="internet" />容器通过绝对位置设置样式:

export const dialogBox = EStyleSheet.create({
   container : {
       position: 'absolute',
       justifyContent: 'center',
       alignItems: 'center',
       top: 0,
       left: 0,
       right: 0,
       bottom: 0,
       zIndex:10000

   },
   .... 

和对话框:

  <View style={dialogBox.container}>
       <View style={dialogBox.box}>
       ...

如果我移除absolute表单容器,则会显示。 但我想在屏幕中间(而不是平板列表的中间)显示它。

但是为什么绝对不能使用zIndex?

我尝试将代码更改为此:

    <View style={{position: 'absolute',zIndex:1}}>
      <FlatList
      style={{position: 'absolute',zIndex:2}}

或者这个:

    <View style={{position: 'relative'}}>
      <FlatList
      style={{position: 'relative'}}

但这不起作用

1 个答案:

答案 0 :(得分:0)

zIndex 不仅适用于绝对位置。

touchableCard: {
    justifyContent: "center",
    alignItems: "center",
    zIndex: 200,
    ...
  },

  emptyNotesInfo: {
    textAlign: "center",
    zIndex: 100,
    ...
  },

尝试一下:

   <View>
      <FlatList style={{flex: 1}}
        renderItem={ data => <View style={{zIndex: 2}}><Text>HERE example view</Text></View>}
      ...
      />
   </View>
  <View style={{ 
       position: "absolute", 
       zIndex: 1,
       alignContent: "center",
       alignItems: "center",
       alignSelf: "center"
     }}>
     <Text>HERE What you need too hide</Text>
  </View>