React Native 的 Picker 组件的 onValueChange 事件

返回上一级

当 React Native 的 Picker 组件的选中项发生变化时,系统会自动调用 Picker 组件上的 onValueChange 事件属性

并把当前选中项的值和选中项的序号作为参数传递给 onValueChange 属性设置的回调函数。

请注意,这个选中项变更事件回调中并没有传递选中项的标签( Picker.Itemlabel 值 ),而是选中项的值 ( Picker.Item 的 value 属性 )和选中项在 Picker.Item 定义列表中的序号 ( 下标从 0 开始)

因此,典型的 onValueChange 事件回调函数的声明一般如下

function languageChanged(itemValue, itemIndex) {
    // 其它处理逻辑
}

注意

因为第一个值 itemValue 可能只有 Android 平台下有效,所以,请千万不要过度依赖于它,所有的逻辑,你应该以 itemIndex 为主

导入模块

import {Picker} from 'react-native'

使用语法

<Picker
  selectedValue={'twle'}
  onValueChange={(itemValue, itemIndex) => this.setState({language: itemValue})}>
  <Picker.Item label="Java" value="java" />
  <Picker.Item label="JavaScript" value="js" />
  <Picker.Item label="简单教程" value="twle" />
</Picker>

范例

下面的代码设置了 Picker 的 onValueChange 事件属性,并在选中项发生变化时输出当前选中项的序号和选中的值

<Picker
  selectedValue={'twle'}
  onValueChange={(itemValue, itemIndex) => 
    console.log('itemIndex:',itemIndex,',  itemValue:',itemValue)}>
  <Picker.Item label="Java" value="java" />
  <Picker.Item label="JavaScript" value="js" />
  <Picker.Item label="简单教程" value="twle" />
</Picker>

返回上一级

React Native 中文文档

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.