@react-native-picker/picker| Android | ios | Пикериос |
|---|---|---|
![]() | ![]() | ![]() |
| Окна | MacOS |
|---|---|
![]() | ![]() |
| @React-Native-Picker/Picker | реагируемый | Реактивные родные |
|---|---|---|
| > = 2,0,0 | 0,61+ | 0,64+ |
| > = 1.16.0 | 0,61+ | 0,61+ |
| > = 1.2.0 | 0,60+ или 0,59+ с Jetifier | N/a |
| > = 1,0,0 | 0,57 | N/a |
$ npm install @react-native-picker/picker --save
или
$ yarn add @react-native-picker/picker
Поскольку [email protected] и выше поддерживает автоматическое использование, не нужно запускать процесс связывания. Узнайте больше о аутоизоляции здесь. Это поддерживается [email protected] и выше.
Кокопод на iOS нуждаются в этом дополнительном шаге:
npx pod-install
Не требуется дополнительного шага.
Использование в окнах без автоматического изготовления требует следующих дополнительных шагов:
ReactNativePicker в свое решение.D:devRNTestnode_modules@react-native-pickerpickerwindowsReactNativePickerReactNativePicker.vcxproj Добавьте ссылку на ReactNativePicker в ваш основной проект приложения. От Visual Studio 2019:
Щелкните правой кнопкой мыши проект основного приложения> Добавить> Справочник ... Проверьте ReactNativePicker из проектов решений.
Добавьте #include "winrt/ReactNativePicker.h" в заголовки, включенные в верхнюю часть файла.
Добавить PackageProviders().Append(winrt::ReactNativePicker::ReactPackageProvider()); Перед InitializeComponent(); Полем
Кокоподы на macOS нуждаются в этом дополнительном шаге (вызванный из каталога macOS)
pod install
Следующие шаги необходимы только в том случае, если вы работаете с версией Rayact Native ниже 0,60
$ react-native link @react-native-picker/picker
Libraries правой кнопкой мыши ➜ Add Files to [your project's name]node_modules ➜ @react-native-picker/picker и добавьте RNCPicker.xcodeprojlibRNCPicker.a к Build Phases вашего проекта ➜ Link Binary With LibrariesCmd+R ) < android/app/src/main/java/[...]/MainApplication.java .import com.reactnativecommunity.picker.RNCPickerPackage; в импорт в верхней части файлаnew RNCPickerPackage() в список, возвращенный методом getPackages()android/settings.gradle : include ':@react-native-picker_picker'
project(':@react-native-picker_picker').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-picker/picker/android')
android/app/build.gradle : implementation project(path: ':@react-native-picker_picker')
Libraries правой кнопкой мыши ➜ Add Files to [your project's name]node_modules ➜ @react-native-picker/picker и добавьте RNCPicker.xcodeprojlibRNCPicker.a к Build Phases вашего проекта ➜ Link Binary With LibrariesCmd+R ) < Вам нужно добавить android:supportsRtl="true" to AndroidManifest.xml
< application
...
android : supportsRtl = " true " > Импортный сборщик из @react-native-picker/picker :
import { Picker } from '@react-native-picker/picker' ; Создайте состояние, которое будет использоваться Picker :
const [ selectedLanguage , setSelectedLanguage ] = useState ( ) ; Добавьте Picker как это:
< Picker
selectedValue = { selectedLanguage }
onValueChange = { ( itemValue , itemIndex ) =>
setSelectedLanguage ( itemValue )
} >
< Picker . Item label = "Java" value = "java" />
< Picker . Item label = "JavaScript" value = "js" />
</ Picker > Если вы хотите открыть/закрыть Picker программно на Android (доступно в версии 1.16.0+), перенесите Ref к Picker :
const pickerRef = useRef ( ) ;
function open ( ) {
pickerRef . current . focus ( ) ;
}
function close ( ) {
pickerRef . current . blur ( ) ;
}
return < Picker
ref = { pickerRef }
selectedValue = { selectedLanguage }
onValueChange = { ( itemValue , itemIndex ) =>
setSelectedLanguage ( itemValue )
} >
< Picker . Item label = "Java" value = "java" />
< Picker . Item label = "JavaScript" value = "js" />
</ Picker >View ...onValueChangeselectedValuestyletestIDenabledmodepromptitemStyleselectionColoronValueChangeОбратный вызов, когда выбран элемент. Это вызывается со следующими параметрами:
itemValue : значение value выбранного элементаitemPosition : индекс выбранного элемента в этом сборщике| Тип | Необходимый |
|---|---|
| функция | Нет |
selectedValueЗначение сопоставления стоимости одного из элементов. Может быть строкой или целым числом.
| Тип | Необходимый |
|---|---|
| любой | Нет |
style| Тип | Необходимый |
|---|---|
| PickersTyletype | Нет |
testIDИспользуется для поиска этого представления в сквозных тестах.
| Тип | Необходимый |
|---|---|
| нить | Нет |
enabledЕсли установить на False, сборщик будет отключен, то есть пользователь не сможет сделать выбор.
| Тип | Необходимый | Платформа |
|---|---|---|
| буль | Нет | Android, Web, Windows |
modeНа Android указывает, как отобразить элементы выбора, когда пользователь нажимает на сборщика:
| Тип | Необходимый | Платформа |
|---|---|---|
| enum ('Dialog', 'выпадение') | Нет | Android |
dropdownIconColor На Android указывает цвет выпадающего треугольника. Входное значение должно быть значением, которое принимается в рамках функции processColor -процесса.
| Тип | Необходимый | Платформа |
|---|---|---|
| ColorValue | Нет | Android |
dropdownIconRippleColor На Android указывает волновой цвет раскрывающегося треугольника. Входное значение должно быть значением, которое принимается в рамках функции processColor -процесса.
| Тип | Необходимый | Платформа |
|---|---|---|
| ColorValue | Нет | Android |
promptПригласить строку для этого сборщика, используемого на Android в режиме диалога в качестве заголовка диалога.
| Тип | Необходимый | Платформа |
|---|---|---|
| нить | Нет | Android |
itemStyleСтиль, чтобы применить к каждой из меткеров элементов.
| Тип | Необходимый | Платформа |
|---|---|---|
| текстовые стили | Нет | iOS, Windows |
numberOfLinesНа Android & IOS используется для усечения текста с помощью эллипсиса после вычисления текстового макета, включая обертывание линии, так что общее количество строк не превышает этого числа. По умолчанию «1»
| Тип | Необходимый | Платформа |
|---|---|---|
| число | Нет | Android, iOS |
onBlur| Тип | Необходимый | Платформа |
|---|---|---|
| функция | Нет | Android |
onFocus| Тип | Необходимый | Платформа |
|---|---|---|
| функция | Нет | Android |
selectionColor| Тип | Необходимый | Платформа |
|---|---|---|
| ColorValue | Нет | ios |
blur (только Android, LIB версия 1.16.0+)Программно закрывает Picker
focus (только Android, LIB версия 1.16.0+)Программно открывает Picker
Реквизит, который может быть применен к отдельному Picker.Item
labelОтображаемое значение в элементе сборщика
| Тип | Необходимый |
|---|---|
| нить | Да |
valueФактическое значение на элементе сборщика
| Тип | Необходимый |
|---|---|
| номер, строка | Да |
colorОтображаемый цвет на предмете сборщика
| Тип | Необходимый |
|---|---|
| ColorValue | Нет |
fontFamilyОтображается на подборе на элементе Picker
| Тип | Необходимый |
|---|---|
| нить | Нет |
styleСтиль, чтобы применить к отдельным меткам предметов.
| Тип | Необходимый | Платформа |
|---|---|---|
| ViewStyleProp | Нет | Android |
enabledЕсли установить FALSE, конкретный элемент будет отключен, то есть пользователь не сможет сделать выбор
@default: true
| Тип | Необходимый | Платформа |
|---|---|---|
| логический | Нет | Android |
contentDescriptionУстанавливает описание контента в элемент Picker
| Тип | Необходимый | Платформа |
|---|---|---|
| нить | Нет | Android |
View ...itemStyleonValueChangeselectedValueselectionColorthemeVariantitemStyle| Тип | Необходимый |
|---|---|
| текстовые стили | Нет |
onValueChange| Тип | Необходимый |
|---|---|
| функция | Нет |
selectedValue| Тип | Необходимый |
|---|---|
| любой | Нет |
selectionColor| Тип | Необходимый | Платформа |
|---|---|---|
| ColorValue | Нет | ios |
themeVariant| Тип | Необходимый |
|---|---|
| enum («свет», «темный») | Нет |