@react-native-picker/picker| Android | iOS | Pickerios |
|---|---|---|
![]() | ![]() | ![]() |
| Windows | Macos |
|---|---|
![]() | ![]() |
| @react-native-picker/picker | react-nativo | React-native-windows |
|---|---|---|
| > = 2.0.0 | 0,61+ | 0,64+ |
| > = 1.16.0 | 0,61+ | 0,61+ |
| > = 1.2.0 | 0,60+ ou 0,59+ com jetificador | N / D |
| > = 1.0.0 | 0,57 | N / D |
$ npm install @react-native-picker/picker --save
ou
$ yarn add @react-native-picker/picker
Como [email protected] e acima suporta automatizações, não há necessidade de executar o processo de vinculação. Leia mais sobre o AUTOLINING AQUI. Isso é suportado por [email protected] e acima.
Cocoapods no iOS precisa desta etapa extra:
npx pod-install
Nenhuma etapa adicional é necessária.
O uso no Windows sem automobilização requer as seguintes etapas extras:
ReactNativePicker à sua solução.D:devRNTestnode_modules@react-native-pickerpickerwindowsReactNativePickerReactNativePicker.vcxproj Adicione uma referência ao ReactNativePicker ao seu projeto de aplicativo principal. Do Visual Studio 2019:
Clique com o botão direito do mouse no Projeto de Aplicativo Principal> Adicionar> Referência ... Verifique ReactNativePicker de projetos de solução.
Adicione #include "winrt/ReactNativePicker.h" aos cabeçalhos incluídos na parte superior do arquivo.
Adicione PackageProviders().Append(winrt::ReactNativePicker::ReactPackageProvider()); antes do InitializeComponent(); .
Cocoapods no macOS precisam desta etapa extra (chamado do diretório macOS)
pod install
As etapas a seguir são necessárias apenas se você estiver trabalhando com uma versão do React Native menor que 0,60
$ react-native link @react-native-picker/picker
Libraries ➜ Add Files to [your project's name]node_modules ➜ @react-native-picker/picker e adicione RNCPicker.xcodeprojlibRNCPicker.a às Build Phases do seu projeto ➜ Link Binary With LibrariesCmd+R ) < android/app/src/main/java/[...]/MainApplication.java )import com.reactnativecommunity.picker.RNCPickerPackage; para as importações no topo do arquivonew RNCPickerPackage() à lista retornada pelo 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 e adicione RNCPicker.xcodeprojlibRNCPicker.a às Build Phases do seu projeto ➜ Link Binary With LibrariesCmd+R ) < Você precisa adicionar android:supportsRtl="true" para AndroidManifest.xml
< application
...
android : supportsRtl = " true " > Importar seletor de @react-native-picker/picker :
import { Picker } from '@react-native-picker/picker' ; Crie estado que será usado pelo Picker :
const [ selectedLanguage , setSelectedLanguage ] = useState ( ) ; Adicione Picker como este:
< Picker
selectedValue = { selectedLanguage }
onValueChange = { ( itemValue , itemIndex ) =>
setSelectedLanguage ( itemValue )
} >
< Picker . Item label = "Java" value = "java" />
< Picker . Item label = "JavaScript" value = "js" />
</ Picker > Se você deseja abrir/fechar o selecionador programaticamente no Android (disponível na versão 1.16.0+), passe para o 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 herdada Props ...onValueChangeselectedValuestyletestIDenabledmodepromptitemStyleselectionColoronValueChangeRetorno de chamada para quando um item é selecionado. Isso é chamado com os seguintes parâmetros:
itemValue : o suporte value do item que foi selecionadoitemPosition : o índice do item selecionado neste seletor| Tipo | Obrigatório |
|---|---|
| função | Não |
selectedValueValor de correspondência de valor de um dos itens. Pode ser uma string ou um número inteiro.
| Tipo | Obrigatório |
|---|---|
| qualquer | Não |
style| Tipo | Obrigatório |
|---|---|
| PickersTyleType | Não |
testIDUsado para localizar essa visualização em testes de ponta a ponta.
| Tipo | Obrigatório |
|---|---|
| corda | Não |
enabledSe definido como false, o seletor será desativado, ou seja, o usuário não poderá fazer uma seleção.
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| bool | Não | Android, Web, Windows |
modeNo Android, especifica como exibir os itens de seleção quando o usuário toca no seletor:
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| enum ('diálogo', 'suspenso') | Não | Android |
dropdownIconColor No Android, especifica a cor do triângulo suspenso. O valor de entrada deve ser o valor aceito pela função processColor nativa de reação.
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| ColorValue | Não | Android |
dropdownIconRippleColor No Android, especifica a cor da ondulação do triângulo suspenso. O valor de entrada deve ser o valor aceito pela função processColor nativa de reação.
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| ColorValue | Não | Android |
promptString prompt para este seletor, usado no Android no modo de diálogo como o título da caixa de diálogo.
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| corda | Não | Android |
itemStyleEstilo a ser aplicado a cada um dos rótulos dos itens.
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| Estilos de texto | Não | iOS, Windows |
numberOfLinesNo Android & iOS, costumava truncar o texto com uma elipse após calcular o layout de texto, incluindo embrulho de linha, de modo que o número total de linhas não exceda esse número. O padrão é '1'
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| número | Não | Android, iOS |
onBlur| Tipo | Obrigatório | Plataforma |
|---|---|---|
| função | Não | Android |
onFocus| Tipo | Obrigatório | Plataforma |
|---|---|---|
| função | Não | Android |
selectionColor| Tipo | Obrigatório | Plataforma |
|---|---|---|
| ColorValue | Não | iOS |
blur (apenas Android, Lib versão 1.16.0+)Fecha programaticamente seletor
focus (apenas Android, Lib versão 1.16.0+)Abre programaticamente o selecionador
Adereços que podem ser aplicados ao Picker.Item individual.Item
labelValor exibido no item do seletor
| Tipo | Obrigatório |
|---|---|
| corda | Sim |
valueValor real no item do seletor
| Tipo | Obrigatório |
|---|---|
| número, string | Sim |
colorCor exibida no item do seletor
| Tipo | Obrigatório |
|---|---|
| ColorValue | Não |
fontFamilyExibido FontFamily no item do seletor
| Tipo | Obrigatório |
|---|---|
| corda | Não |
styleEstilo a ser aplicado a etiquetas de itens individuais.
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| ViewStyleProp | Não | Android |
enabledSe definido como false, o item específico será desativado, ou seja, o usuário não poderá fazer uma seleção
@Default: true
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| booleano | Não | Android |
contentDescriptionDefine a descrição do conteúdo para o item do seletor
| Tipo | Obrigatório | Plataforma |
|---|---|---|
| corda | Não | Android |
View herdada Props ...itemStyleonValueChangeselectedValueselectionColorthemeVariantitemStyle| Tipo | Obrigatório |
|---|---|
| Estilos de texto | Não |
onValueChange| Tipo | Obrigatório |
|---|---|
| função | Não |
selectedValue| Tipo | Obrigatório |
|---|---|
| qualquer | Não |
selectionColor| Tipo | Obrigatório | Plataforma |
|---|---|---|
| ColorValue | Não | iOS |
themeVariant| Tipo | Obrigatório |
|---|---|
| enum ('luz', 'escuro') | Não |