android中的选择器问题(所选项目的文本)

时间:2020-09-03 00:07:59

标签: android react-native expo react-native-android

我的选择器有问题(仅在android中)。在iPhone中,我没有任何问题。 当我选择一个项目时,在android中不会更新组合框内的文本(但该对象已确定)。 我附上代码:

<View style={[Styles.PickerSelect, { width: “70%” }]}>

    <Picker
      headerBackButtonText="Atras"
      iosHeader="Seleccionar"
      selectedValue={this.state.articulo}
      placeholder={this.state.articulo}
      onValueChange={this.getDatosLineas.bind(this)>

            {this.state.articulos && this.state.articulos.map((item, i) => {
             return (
                    <Picker.Item
                         key={i}
                         value={i}
                         label={item.nom_articulo}/>
                     );
             })}
  </Picker>
</View>

我附上示例照片: 在1-中,当我进入该部分时,我将获得带有该文本和值的选择器。 在2-中,选择选择器,然后选择另一个项目(例如“ ORUJO DE UVAS BLANCAS”) 在3- Android中,文本不会更新。但是对象是选定的……

enter image description here

我重复一遍,在ios中,我没有这个问题。

Expo SDK:36.0.0 谢谢!

1 个答案:

答案 0 :(得分:0)

您需要使用选择器标记内onValueChange()回调中的 setState()方法在 articulo 变量中设置选定的值。

<View style={[Styles.PickerSelect, { width: “70%” }]}>

<Picker
  headerBackButtonText="Atras"
  iosHeader="Seleccionar"
  selectedValue={this.state.articulo}
  placeholder={this.state.articulo}
  onValueChange={(itemValue, itemPosition) =>  
                        this.setState({articulo: itemValue, choosenIndex: itemPosition})}>

        {this.state.articulos && this.state.articulos.map((item, i) => {
         return (
                <Picker.Item
                     key={i}
                     value={i}
                     label={item.nom_articulo}/>
                 );
         })}
相关问题