@react-native-picker/picker| Androide | iOS | Pickerios |
|---|---|---|
![]() | ![]() | ![]() |
| Windows | Macosa |
|---|---|
![]() | ![]() |
| @React-Native-Picker/Picker | react-nativo | reaccionamiento de algas nativas |
|---|---|---|
| > = 2.0.0 | 0.61+ | 0.64+ |
| > = 1.16.0 | 0.61+ | 0.61+ |
| > = 1.2.0 | 0.60+ o 0.59+ con jetificador | N / A |
| > = 1.0.0 | 0.57 | N / A |
$ npm install @react-native-picker/picker --save
o
$ yarn add @react-native-picker/picker
Como [email protected] y arriba admite la autoleta, no es necesario ejecutar el proceso de enlace. Lea más sobre la autoleta aquí. Esto es compatible con [email protected] y superior.
Cocoapods en iOS necesita este paso adicional:
npx pod-install
No se requiere un paso adicional.
El uso en Windows sin egoísta requiere los siguientes pasos adicionales:
ReactNativePicker a su solución.D:devRNTestnode_modules@react-native-pickerpickerwindowsReactNativePickerReactNativePicker.vcxproj Agregue una referencia a ReactNativePicker a su proyecto de aplicación principal. De Visual Studio 2019:
Haga clic con el botón derecho Proyecto de aplicación principal> Agregar> Referencia ... Verifique ReactNativePicker de proyectos de solución.
Agregue #include "winrt/ReactNativePicker.h" a los encabezados incluidos en la parte superior del archivo.
Agregar PackageProviders().Append(winrt::ReactNativePicker::ReactPackageProvider()); antes de InitializeComponent(); .
Cocoapods on MacOS necesita este paso adicional (llamado desde el directorio de MacOS)
pod install
Los siguientes pasos solo son necesarios si está trabajando con una versión de React Native inferior a 0.60
$ react-native link @react-native-picker/picker
Libraries ➜ Add Files to [your project's name]node_modules ➜ @react-native-picker/picker y agregue RNCPicker.xcodeprojlibRNCPicker.a a Build Phases de su proyecto ➜ Link Binary With LibrariesCmd+R ) < android/app/src/main/java/[...]/MainApplication.java )import com.reactnativecommunity.picker.RNCPickerPackage; a las importaciones en la parte superior del archivonew RNCPickerPackage() a la lista devuelta por el método 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 y agregue RNCPicker.xcodeprojlibRNCPicker.a a Build Phases de su proyecto ➜ Link Binary With LibrariesCmd+R ) < Debe agregar android:supportsRtl="true" a AndroidManifest.xml
< application
...
android : supportsRtl = " true " > Importar seleccionador de @react-native-picker/picker :
import { Picker } from '@react-native-picker/picker' ; Crear estado que será utilizado por el Picker :
const [ selectedLanguage , setSelectedLanguage ] = useState ( ) ; Agregue Picker como este:
< Picker
selectedValue = { selectedLanguage }
onValueChange = { ( itemValue , itemIndex ) =>
setSelectedLanguage ( itemValue )
} >
< Picker . Item label = "Java" value = "java" />
< Picker . Item label = "JavaScript" value = "js" />
</ Picker > Si desea abrir/cerrar Picker mediante programación en Android (disponible desde la versión 1.16.0+), pase la referencia a 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 hereditaria ...onValueChangeselectedValuestyletestIDenabledmodepromptitemStyleselectionColoronValueChangeDevolución de llamada para cuando se selecciona un artículo. Esto se llama con los siguientes parámetros:
itemValue : el valor de value del elemento que se seleccionóitemPosition : el índice del elemento seleccionado en este selector| Tipo | Requerido |
|---|---|
| función | No |
selectedValueValor coincidente Valor de uno de los elementos. Puede ser una cadena o un entero.
| Tipo | Requerido |
|---|---|
| cualquier | No |
style| Tipo | Requerido |
|---|---|
| Pickerstyletype | No |
testIDSe utiliza para localizar esta vista en pruebas de extremo a extremo.
| Tipo | Requerido |
|---|---|
| cadena | No |
enabledSi se establece en False, el selector se deshabilitará, es decir, el usuario no podrá hacer una selección.
| Tipo | Requerido | Plataforma |
|---|---|---|
| bool | No | Android, Web, Windows |
modeEn Android, especifica cómo mostrar los elementos de selección cuando el usuario aprovecha el selector:
| Tipo | Requerido | Plataforma |
|---|---|---|
| enum ('diálogo', 'desplegable') | No | Androide |
dropdownIconColor En Android, especifica el color del triángulo desplegable. El valor de entrada debe ser un valor que se acepte por la función React-Native processColor .
| Tipo | Requerido | Plataforma |
|---|---|---|
| Valor de colores | No | Androide |
dropdownIconRippleColor En Android, especifica el color ondulado del triángulo desplegable. El valor de entrada debe ser un valor que se acepte por la función React-Native processColor .
| Tipo | Requerido | Plataforma |
|---|---|---|
| Valor de colores | No | Androide |
promptCadena de solicitud para este selector, utilizado en Android en modo de diálogo como título del cuadro de diálogo.
| Tipo | Requerido | Plataforma |
|---|---|---|
| cadena | No | Androide |
itemStyleEstilo para aplicar a cada una de las etiquetas de los artículos.
| Tipo | Requerido | Plataforma |
|---|---|---|
| estilos de texto | No | iOS, Windows |
numberOfLinesEn Android e iOS, se usa para truncar el texto con un elipsis después de calcular el diseño del texto, incluida la envoltura de línea, de modo que el número total de líneas no exceda este número. El valor predeterminado es '1'
| Tipo | Requerido | Plataforma |
|---|---|---|
| número | No | Android, iOS |
onBlur| Tipo | Requerido | Plataforma |
|---|---|---|
| función | No | Androide |
onFocus| Tipo | Requerido | Plataforma |
|---|---|---|
| función | No | Androide |
selectionColor| Tipo | Requerido | Plataforma |
|---|---|---|
| Valor de colores | No | iOS |
blur (solo Android, Lib Versión 1.16.0+)Programáticamente cierra Picker
focus (solo Android, Lib Versión 1.16.0+)Picker abre programáticamente
Accesorios que se pueden aplicar al Picker.Item individual.
labelValor mostrado en el elemento del selector
| Tipo | Requerido |
|---|---|
| cadena | Sí |
valueValor real en el artículo del selector
| Tipo | Requerido |
|---|---|
| número, cadena | Sí |
colorColor que se muestra en el elemento del selector
| Tipo | Requerido |
|---|---|
| Valor de colores | No |
fontFamilyFontfamilia mostrada en el elemento del selector
| Tipo | Requerido |
|---|---|
| cadena | No |
styleEstilo para aplicar a las etiquetas de artículos individuales.
| Tipo | Requerido | Plataforma |
|---|---|---|
| ViewStyleProp | No | Androide |
enabledSi se establece en False, el elemento específico se deshabilitará, es decir, el usuario no podrá hacer una selección
@default: verdadero
| Tipo | Requerido | Plataforma |
|---|---|---|
| booleano | No | Androide |
contentDescriptionEstablece la descripción del contenido en el elemento del selector
| Tipo | Requerido | Plataforma |
|---|---|---|
| cadena | No | Androide |
View hereditaria ...itemStyleonValueChangeselectedValueselectionColorthemeVariantitemStyle| Tipo | Requerido |
|---|---|
| estilos de texto | No |
onValueChange| Tipo | Requerido |
|---|---|
| función | No |
selectedValue| Tipo | Requerido |
|---|---|
| cualquier | No |
selectionColor| Tipo | Requerido | Plataforma |
|---|---|---|
| Valor de colores | No | iOS |
themeVariant| Tipo | Requerido |
|---|---|
| enum ('luz', 'oscuro') | No |