Использование автономного компонента React-native-picker-select - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь использовать 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. на реальном устройстве кажется, что я могу постучать по фиолетовой области, и сборщик появляется очень спорадически. Любая помощь будет принята с благодарностью!

Редактировать: Забыл упомянуть, что это конкретно проблема с Android, она работает как на реальных, так и на смоделированных iPhone

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Похоже, что RNPickerselect, обернутый в TouchableWithoutFeedback, по какой-то причине ломает его, после выхода из этого тега он работает нормально.

0 голосов
/ 26 октября 2018

Добавление последней версии (версия 5.0), похоже, решает эту проблему. Версия, которую я добавил, была 4.4, и я добавил ее в свой проект, может быть, 10 дней назад. Последняя версия была выпущена около недели назад и, похоже, решает эту проблему.

...