@react-native-picker/picker| Android | iOS | Pickerios |
|---|---|---|
![]() | ![]() | ![]() |
| Windows | MacOS |
|---|---|
![]() | ![]() |
| @react-native-picker/pemetik | reaksi-asli | Bereaksi-asli-angin |
|---|---|---|
| > = 2.0.0 | 0.61+ | 0.64+ |
| > = 1.16.0 | 0.61+ | 0.61+ |
| > = 1.2.0 | 0,60+ atau 0,59+ dengan jetifier | N/a |
| > = 1.0.0 | 0,57 | N/a |
$ npm install @react-native-picker/picker --save
atau
$ yarn add @react-native-picker/picker
Sebagai [email protected] dan di atas mendukung autolinking, tidak perlu menjalankan proses tautan. Baca lebih lanjut tentang autolinking di sini. Ini didukung oleh [email protected] dan di atas.
Cocoapods di iOS membutuhkan langkah ekstra ini:
npx pod-install
Tidak ada langkah tambahan yang diperlukan.
Penggunaan di Windows tanpa autolinking membutuhkan langkah -langkah tambahan berikut:
ReactNativePicker ke solusi Anda.D:devRNTestnode_modules@react-native-pickerpickerwindowsReactNativePickerReactNativePicker.vcxproj Tambahkan referensi ke ReactNativePicker ke proyek aplikasi utama Anda. Dari Visual Studio 2019:
Klik kanan Proyek Aplikasi Utama> Tambah> Referensi ... Periksa ReactNativePicker dari proyek solusi.
Tambahkan #include "winrt/ReactNativePicker.h" ke header yang disertakan di bagian atas file.
Tambahkan PackageProviders().Append(winrt::ReactNativePicker::ReactPackageProvider()); sebelum InitializeComponent(); .
Cocoapods pada macOS membutuhkan langkah ekstra ini (dipanggil dari direktori macOS)
pod install
Langkah -langkah berikut hanya diperlukan jika Anda bekerja dengan versi React Native lebih rendah dari 0,60
$ react-native link @react-native-picker/picker
Libraries klik kanan ➜ Add Files to [your project's name]node_modules ➜ @react-native-picker/picker dan tambahkan RNCPicker.xcodeprojlibRNCPicker.a ke Build Phases proyek Anda ➜ Link Binary With LibrariesCmd+R ) < android/app/src/main/java/[...]/MainApplication.java )import com.reactnativecommunity.picker.RNCPickerPackage; ke impor di bagian atas filenew RNCPickerPackage() ke daftar yang dikembalikan dengan metode 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 klik kanan ➜ Add Files to [your project's name]node_modules ➜ @react-native-picker/picker dan tambahkan RNCPicker.xcodeprojlibRNCPicker.a ke Build Phases proyek Anda ➜ Link Binary With LibrariesCmd+R ) < Anda perlu menambahkan android:supportsRtl="true" ke AndroidManifest.xml
< application
...
android : supportsRtl = " true " > Impor pemilih dari @react-native-picker/picker :
import { Picker } from '@react-native-picker/picker' ; Buat keadaan yang akan digunakan oleh Picker :
const [ selectedLanguage , setSelectedLanguage ] = useState ( ) ; Tambahkan Picker seperti ini:
< Picker
selectedValue = { selectedLanguage }
onValueChange = { ( itemValue , itemIndex ) =>
setSelectedLanguage ( itemValue )
} >
< Picker . Item label = "Java" value = "java" />
< Picker . Item label = "JavaScript" value = "js" />
</ Picker > Jika Anda ingin membuka/menutup pemetik secara terprogram di Android (tersedia dari versi 1.16.0+), lulus ref ke 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 yang diwariskan ...onValueChangeselectedValuestyletestIDenabledmodepromptitemStyleselectionColoronValueChangeCallback untuk saat item dipilih. Ini disebut dengan parameter berikut:
itemValue : Prop value Item yang dipilihitemPosition : Indeks item yang dipilih di pemilih ini| Jenis | Diperlukan |
|---|---|
| fungsi | TIDAK |
selectedValueNilai nilai pencocokan salah satu item. Bisa menjadi string atau bilangan bulat.
| Jenis | Diperlukan |
|---|---|
| setiap | TIDAK |
style| Jenis | Diperlukan |
|---|---|
| pickerstyletype | TIDAK |
testIDDigunakan untuk menemukan tampilan ini dalam tes ujung ke ujung.
| Jenis | Diperlukan |
|---|---|
| rangkaian | TIDAK |
enabledJika diatur ke false, pemilih akan dinonaktifkan, yaitu pengguna tidak akan dapat melakukan pilihan.
| Jenis | Diperlukan | Platform |
|---|---|---|
| bool | TIDAK | Android, Web, Windows |
modeDi Android, menentukan cara menampilkan item pilihan saat pengguna mengetuk pemetik:
| Jenis | Diperlukan | Platform |
|---|---|---|
| enum ('dialog', 'dropdown') | TIDAK | Android |
dropdownIconColor Di Android, menentukan warna segitiga dropdown. Nilai input harus bernilai yang diterima oleh fungsi processColor Proses-asli.
| Jenis | Diperlukan | Platform |
|---|---|---|
| ColorValue | TIDAK | Android |
dropdownIconRippleColor Di Android, menentukan warna riak dari dropdown segitiga. Nilai input harus bernilai yang diterima oleh fungsi processColor Proses-asli.
| Jenis | Diperlukan | Platform |
|---|---|---|
| ColorValue | TIDAK | Android |
promptString prompt untuk pemilih ini, digunakan pada Android dalam mode dialog sebagai judul dialog.
| Jenis | Diperlukan | Platform |
|---|---|---|
| rangkaian | TIDAK | Android |
itemStyleGaya untuk diterapkan pada masing -masing label item.
| Jenis | Diperlukan | Platform |
|---|---|---|
| gaya teks | TIDAK | iOS, windows |
numberOfLinesDi Android & iOS, digunakan untuk memotong teks dengan ellipsis setelah menghitung tata letak teks, termasuk pembungkus garis, sehingga jumlah total garis tidak melebihi angka ini. Default adalah '1'
| Jenis | Diperlukan | Platform |
|---|---|---|
| nomor | TIDAK | Android, iOS |
onBlur| Jenis | Diperlukan | Platform |
|---|---|---|
| fungsi | TIDAK | Android |
onFocus| Jenis | Diperlukan | Platform |
|---|---|---|
| fungsi | TIDAK | Android |
selectionColor| Jenis | Diperlukan | Platform |
|---|---|---|
| ColorValue | TIDAK | iOS |
blur (hanya Android, LIB versi 1.16.0+)Secara terprogram menutup pemetik
focus (hanya Android, LIB versi 1.16.0+)Secara terprogram membuka pemetik
Alat peraga yang dapat diterapkan pada Picker.Item individu.item
labelNilai yang ditampilkan pada item pemilih
| Jenis | Diperlukan |
|---|---|
| rangkaian | Ya |
valueNilai aktual pada item pemilih
| Jenis | Diperlukan |
|---|---|
| nomor, string | Ya |
colorWarna yang ditampilkan pada item Picker
| Jenis | Diperlukan |
|---|---|
| ColorValue | TIDAK |
fontFamilyDitampilkan fontFamily pada item pemilih
| Jenis | Diperlukan |
|---|---|
| rangkaian | TIDAK |
styleGaya untuk diterapkan pada label item individual.
| Jenis | Diperlukan | Platform |
|---|---|---|
| Viewstyleprop | TIDAK | Android |
enabledJika diatur ke false, item tertentu akan dinonaktifkan, yaitu pengguna tidak akan dapat membuat pilihan
@Default: Benar
| Jenis | Diperlukan | Platform |
|---|---|---|
| Boolean | TIDAK | Android |
contentDescriptionMenetapkan deskripsi konten ke item pemilih
| Jenis | Diperlukan | Platform |
|---|---|---|
| rangkaian | TIDAK | Android |
View yang diwariskan ...itemStyleonValueChangeselectedValueselectionColorthemeVariantitemStyle| Jenis | Diperlukan |
|---|---|
| gaya teks | TIDAK |
onValueChange| Jenis | Diperlukan |
|---|---|
| fungsi | TIDAK |
selectedValue| Jenis | Diperlukan |
|---|---|
| setiap | TIDAK |
selectionColor| Jenis | Diperlukan | Platform |
|---|---|---|
| ColorValue | TIDAK | iOS |
themeVariant| Jenis | Diperlukan |
|---|---|
| enum ('terang', 'gelap') | TIDAK |