Может ли 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
или что-то еще, но я никогда не нашел что-то подобное в документе или в Интернете. Если я найду что-то, что может помочь, я положу это здесь.
Надеюсь это поможет