Может ли React Native Picker иметь какой-то разделитель или разделитель между некоторыми Предметами?

В других компонентах React Native и Native Base я видел, что среди основных выбираемых элементов ввода можно добавлять невыбираемые элементы, обычно называемые разделителями или разделителями.

Однако я не вижу ничего подобного в компонентах Picker.

Я реализую что-то вроде фаворитов или недавних предметов, отсортированных в верхней части окна выбора. Было бы неплохо иметь возможность вставить своего рода видимую разделительную линию между избранным / недавним разделом и основным разделом.

+-----------+
| Ford      |
| Chevrolet |
+-----------+
| Toyota    |
| Nissan    |
| ...       |

Было бы еще лучше, если бы я мог добавить заголовок с текстом перед каждым разделом.

+-----------+
|==Recent===|
+-----------+
| Ford      |
| Chevrolet |
+-----------+
|=The rest==|
+-----------+
| Toyota    |
| Nissan    |
| ...       |

Предоставляет ли это компонент Picker или его легко добавить?

2 ответа

Picker компонент от RN не обеспечивает это из коробки. Если вы хотите использовать очень настраиваемый PickerВам лучше использовать https://github.com/sohobloo/react-native-modal-dropdown. Существует реквизит API под названием renderSeparator что я думаю, что вы могли бы легко использовать для своих целей.

Не уверен насчет создания разделов в списке элементов выбора. Что вы можете сделать, это добавить строку на выбранном.

IOS

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

Вот что я сделал

<Picker
    selectedValue={filter}
    onValueChange={this._onFilterSelect}
    style={sharedStyles.floatingPicker}
    itemStyle={{ borderTopWidth: 1, borderTopColor: '#000', borderBottomWidth: 1, borderBottomColor: '#000' }}
>

введите описание изображения здесь

Android

Вы можете найти решение для Android здесь, но я никогда не проверял его. И решение добавит стиль для всех сборщиков в приложении. Если это то, что вы хотите, это круто.

-

Что касается заголовка, я не уверен, что этот вид встроенного элемента существует. Как Picker.Item существует, было бы неплохо иметь Picker.Headerили что-то еще, но я никогда не нашел что-то подобное в документе или в Интернете. Если я найду что-то, что может помочь, я положу это здесь.

Надеюсь это поможет

Другие вопросы по тегам