React Native Picker 不更新状态

Posted

技术标签:

【中文标题】React Native Picker 不更新状态【英文标题】:React Native Picker not updating state 【发布时间】:2019-03-21 16:56:37 【问题描述】:

我正在开发一个反应原生应用程序。因为我正在使用选择器来选择项目并更新状态。 M 问题是选择器没有更新下面的状态是我的代码

constructor(props)
    super(props)

    this.state=(
        category:'',
    )

    getPickerElements() 
        var pickerArr = [];
        data.forEach((child, itemIndex) => 
            pickerArr.push(<Picker.Item label=child.storeName value=child.storeId key=itemIndex/>)
        )

        return pickerArr;
    

    <Picker
        selectedValue=this.state.category

        onValueChange=(itemvalue) =>
            this.setState(category: itemvalue)
        >

        /* -------------------Dynamic Picker Data------------------ */
        this.getPickerElements()
        /* -------------------------------------------------------- */
    </Picker>

为了记录,“数据”有数据并且下拉正常工作

【问题讨论】:

另外,您的代码似乎不完整。您能否发布更完整的示例? 【参考方案1】:

onValueChange 需要更改值,在 react native 的情况下,我们需要提供一个默认值(选定值),它可能是我们数据中的选项,或者只是一个标签项。这样每个其他项目在被选中时都会调用 onvaluechange 方法。

【讨论】:

【参考方案2】:

这是原生选择器本身的问题。我先只添加了一个项目。第一项不会在反应原生 android 中设置状态。当我添加 2 项并选择第二项时,它工作正常

【讨论】:

以上是关于React Native Picker 不更新状态的主要内容,如果未能解决你的问题,请参考以下文章

另一个滚动中的 react-native-dropdown-picker 滚动不起作用

React Native Picker 占位符文本被剪切

react native中利用Picker自定义日期组件(只包含年和月)

如何将 React-Native Picker 的初始值设置为空

React Native Picker (多列数据)

react-native-image-picker vs expo ImagePicker