Я пытаюсь использовать компонент Headless для React-Native-Picker-Selects для iOS и Android. Согласно документам, найденным здесь:
вы можете передавать дочерние элементы (например, пользовательскую кнопку или ввод) для компонента для переноса (для iOS и Android
Вот пример моего кода:
import React, { Component } from 'react';
import {
View,
Text,
} from 'react-native';
import RNPickerSelect from 'react-native-picker-select';
<View style={{flex:1}}>
<RNPickerSelect
placeholder={{}}
items={MyList}
onValueChange={(itemValue, itemIndex) => {
console.log('itemValue')
}}
style={{...pickerSelectStyles}}
>
<View style={{backgroundColor:'purple', flex:1, justifyContent:'center', alignItems:'center'}}>
<Text>
Test Text where I should be able to touch to get things to happen
</Text>
</View>
</RNPickerSelect>
const pickerSelectStyles = StyleSheet.create({
headlessAndroidContainer: {
flex:1
}
});
<View style={{height:height * 0.5}}>
<Text>test</Text>
</View>
</View>
const pickerSelectStyles = StyleSheet.create({
viewContainer: {
flex:1,
backgroundColor: 'purple',
},
headlessAndroidContainer: {
backgroundColor: 'purple',
flex:1
}
});
Я ожидаю, что на моем экране я вижу двухсекционный, наполовину пурпурный и полубелый. В фиолетовом разделе есть текст, в котором говорится, что все должно происходить, а белый раздел должен быть протестирован. Я должен был бы использовать любую точку на фиолетовой секции, и мой сборщик с MyList должен появиться.
Это работает как ожидалось на симуляторе, но не на реальном устройстве Android. на реальном устройстве, кажется, что я могу использовать на фиолетовой области, и сборщик появляется очень спорадически. Будем очень благодарны любой помощи!
Изменение: Забыл упомянуть, что это специально проблема андроида, он работает как с реальными, так и с имитируемыми iPhone'ами
Похоже, что RNPickerselect, завернутый в TouchableWithoutFeedback, по какой-то причине прерывает его, когда-то вне этого тега он работал нормально.
Добавление последней версии (версия 5.0), похоже, устраняет эту проблему. Добавленная версия была 4.4, и я добавил ее в свой проект, возможно, 10 дней назад. Последняя версия была выпущена около недели назад и, похоже, решает эту проблему.