3

我已经使用“react-native-dropdown-picker”包创建了下拉选择器,所有项目都列出了,但它在另一个组件上看起来是透明的。谁能帮我解决这个问题?

在此处输入图像描述

这是我的源代码:

import React, {useState} from 'react';
import {View, Text, Button, ScrollView, StyleSheet} from 'react-native';
import DropDownPicker from 'react-native-dropdown-picker';

  
const App = () => {
  const [myArray, setMyArray] = useState([]);
  const [open, setOpen] = useState(false);
  const [value, setValue] = useState(null);
  const [items, setItems] = useState([
    {label: 'Apple', value: 'apple'},
    {label: 'Banana', value: 'banana'}
  ]);

  return (
      <View style={styles.container}>
        <Button title="Check"/>
        <Text>Hello world</Text>
        <DropDownPicker
          open={open}
          value={value}
          items={items}
          setOpen={setOpen}
          setValue={setValue}
          setItems={setItems}
        />
        <Button title="Check"/>
        <Text>Hello world</Text>
        <Button title="Check"/>
        <Text>Hello world</Text>
        <Button title="Check"/>
        <Text>Hello world</Text>
        <Button title="Check"/>
        <Text>Hello world</Text>
        <Button title="Check"/>
        <Text>Hello world</Text>
      </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
    textAlign: 'center',
  },
});
export default App;

预期:列出的项目需要在没有覆盖的情况下正确显示,按钮希望出现在带有滚动视图的下拉列表之后。

4

2 回答 2

7

问题似乎不仅仅在于透明度。如果您注意到,凸起的按钮出现在下拉菜单的上方。

这意味着z-index这里也是一个问题。

将 a 添加dropDownContainerStyle={{ backgroundColor: 'white',zIndex: 1000, elevation: 1000 }}到您的DropDownPicker组件中。

这应该transparencyzIndex.

于 2021-05-16T16:37:57.433 回答
0

对我来说,接受的答案在 ios 中不起作用。要修复 ios 问题,我必须设置父视图 zIndex,但这会导致 android 出现问题。这是您的代码的外观。

<View style={Platform.OS === 'ios' ? {zIndex: 100} : {}}>
     <DropDownPicker {...dropDownProps} />
</View>

我建议使用以上内容作为起点,确保在这个简单的版本中一切正常,并开始为样式添加更多内容

于 2021-12-11T20:47:16.507 回答