在React Native Picker中选择第一个项目时,有没有一种方法可以调用?

时间:2020-03-16 06:45:29

标签: javascript react-native react-native-android picker

编辑

functionToRedirect(itemValue)是在选择器中的一个项目被选中时调用的函数,它重定向到一个新的屏幕,该屏幕基于'itemValue'预先填充了屏幕中的某些值。

但是,当我选择相同的值时,我假设functionToRedirect(itemValue)不会被调用,因为该值没有变化,因此不会触发onValueChange()

有我打电话的方式functionToRedirect(itemValue)即使在值没有改变(即当选择初始值),试图重定向到一个新的屏幕?

<Picker
  style={styles.picker}
  itemStyle={styles.pickerItem}
  mode={"dialog"}
  selectedValue={this.props.value}
  onValueChange={(itemValue) => {
    functionToRedirect(itemValue);
  }
}>
  {this.state.pickerItems}
</Picker>

2 个答案:

答案 0 :(得分:1)

如何使用自定义选择器? Nativebase,ReactNative UI组件的定制实现可以为您提供定制的组件风格。 他们已经使用RN Picker作为在模态窗口中打开的项目的平面列表的包装器来实现Picker,您可以通过该窗口相应地选择项目。

答案 1 :(得分:0)

我遇到的解决方案是将selectedValue传递为null,以使下拉列表中显示的第一个选项是下拉标题。

解决方案如下所示

<Picker
  style={styles.picker}
  itemStyle={styles.pickerItem}
  mode={"dialog"}
  selectedValue={null}
  onValueChange={(itemValue) => {
    this.props.onChange(itemValue)
  }}
>
  {this.state.pickerItems}
</Picker>

将选择器标题显示为下拉菜单的初始值,如下所示 image of dropdown showing title instead of first element