onPress на picker.item, чтобы закрыть выпадающий - PullRequest
0 голосов
/ 26 октября 2019

У меня выпадающий список, и я использую компонент выбора, реагирующий на реакцию. Все работает нормально, проблема в том, что мне нужно закрыть выпадающий список, когда пользователь нажимает на любые элементы выбора

        this.state.list.map((obj, index) => {
           return (
            <Picker.Item key={index} label={obj.label} value={obj.value} />
          ); 

средство выбора дает нам только значение пропуска onValueChange, но мне нужна функция onPress для каждого элемента выбора отдельночтобы закрыть раскрывающийся список.

Я также пробовал это

          this.state.list.map((obj, index) => {
          return (
            <TouchableWithoutFeedback onPress={this.itemPressHandler}>
                <Picker.Item key={index} label={obj.label} value={obj.value} />
            </TouchableWithoutFeedback>

          ); 

, но он не отображает раскрывающийся список.

Есть ли способ получить эту функцию?

1 Ответ

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

В соответствии с документами .

<Picker
    selectedValue={this.state.valueSelected}
    onValueChange={(itemValue, itemIndex) => {
         this.handlePickerValueChange(itemValue, itemIndex)
    }
    mode={'dialog'} // optional
>
    this.state.list.map((obj, index) => {
       return (
        <Picker.Item key={index} label={obj.label} value={obj.value} />
      );
    });
</Picker>

Установить выбранное по умолчанию значение в состоянии

state={
    valueSelected: "Choose a value"
}

Обрабатывать изменение, когда пользователь выбирает другую опцию

handlePickerValueChange = (itemValue, itemIndex) => {
   //do your stuff
}
...