@react-native-picker/picker| 安卓 | 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
無需其他步驟。
在沒有自動鏈接的情況下使用Windows的使用需要以下額外的步驟:
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
僅當您使用一個版本的React本地版本低於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"到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 >如果要在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上,指定了當用戶在選擇器上的用戶點擊時如何顯示選擇項目:
| 類型 | 必需的 | 平台 |
|---|---|---|
| 枚舉(“對話”,“下拉”) | 不 | 安卓 |
dropdownIconColor在Android上,指定下拉三角形的顏色。輸入值應為反應本機processColor函數所接受的值。
| 類型 | 必需的 | 平台 |
|---|---|---|
| 色價 | 不 | 安卓 |
dropdownIconRippleColor在Android上,指定下拉三角形的連鎖顏色。輸入值應為反應本機processColor函數所接受的值。
| 類型 | 必需的 | 平台 |
|---|---|---|
| 色價 | 不 | 安卓 |
prompt此選擇器的提示字符串,以對話模式在Android上使用,作為對話框的標題。
| 類型 | 必需的 | 平台 |
|---|---|---|
| 細繩 | 不 | 安卓 |
itemStyle適用於每個項目標籤的樣式。
| 類型 | 必需的 | 平台 |
|---|---|---|
| 文字樣式 | 不 | iOS,Windows |
numberOfLines在計算文本佈局後,在Android&iOS上,用來用省略號截斷文本,包括線條包裝,以致行總數不超過此數字。默認為“ 1”
| 類型 | 必需的 | 平台 |
|---|---|---|
| 數字 | 不 | Android,iOS |
onBlur| 類型 | 必需的 | 平台 |
|---|---|---|
| 功能 | 不 | 安卓 |
onFocus| 類型 | 必需的 | 平台 |
|---|---|---|
| 功能 | 不 | 安卓 |
selectionColor| 類型 | 必需的 | 平台 |
|---|---|---|
| 色價 | 不 | ios |
blur (僅Android,LIB版本1.16.0+)編程方式關閉選擇器
focus (僅Android,LIB版本1.16.0+)編程開放的選擇器
可以應用於單個Picker.Item道具
label在選擇器項目上顯示價值
| 類型 | 必需的 |
|---|---|
| 細繩 | 是的 |
value選擇器項目的實際價值
| 類型 | 必需的 |
|---|---|
| 數字,字符串 | 是的 |
color在選擇器項目上顯示顏色
| 類型 | 必需的 |
|---|---|
| 色價 | 不 |
fontFamily在選擇器物品上顯示fontfamily
| 類型 | 必需的 |
|---|---|
| 細繩 | 不 |
style適用於單個項目標籤的樣式。
| 類型 | 必需的 | 平台 |
|---|---|---|
| ViewStyleProp | 不 | 安卓 |
enabled如果設置為false,則將禁用特定項目,即用戶將無法進行選擇
@default:true
| 類型 | 必需的 | 平台 |
|---|---|---|
| 布爾 | 不 | 安卓 |
contentDescription將內容描述設置為Picker項目
| 類型 | 必需的 | 平台 |
|---|---|---|
| 細繩 | 不 | 安卓 |
View道具...itemStyleonValueChangeselectedValueselectionColorthemeVariantitemStyle| 類型 | 必需的 |
|---|---|
| 文字樣式 | 不 |
onValueChange| 類型 | 必需的 |
|---|---|
| 功能 | 不 |
selectedValue| 類型 | 必需的 |
|---|---|
| 任何 | 不 |
selectionColor| 類型 | 必需的 | 平台 |
|---|---|---|
| 色價 | 不 | ios |
themeVariant| 類型 | 必需的 |
|---|---|
| 枚舉(“光”,“黑暗”) | 不 |