React Native - 选择器在 IOS 上弹回顶部

问题描述 投票:0回答:1

我正在制作一个简单的高尔夫分数跟踪应用程序,并使用 react-native-picker 库来帮助我选择我想要查看的课程。该功能全部正常工作,并且它选择了正确的值,但由于某种原因,选择器弹回到列表中的第一项。

这张截图是我使用选择器向下滚动到“Whispering Pines Golf Resort”后直接拍摄的,您可以看到下面的字幕已正确更新。只有选取器本身弹回顶部。

IOS Picker Issue

奇怪的是,它在 Android 上看起来完全没问题,它使用下拉样式选择器。

<Picker
  style={styles.picker}
  selectedValue={state.currentCourse}
  onValueChange={(itemValue) => getUserScores(itemValue)}
>
  {state.courses.map((course) => (
    <Picker.Item key={course.name} label={course.name} value={course} />
  ))}
</Picker>

state.courses 数组是通过导入包含数据的 json 文件来填充的。

我的代码有问题还是库中存在错误?

javascript reactjs react-native picker
1个回答
0
投票
 You need to set the selected value in OnValueChange() event like

    const [selectedCourse,setSelectedCourse]=useState(state.courses[0]);  
     <Picker
          style={styles.picker}
          selectedValue={selectedCourse}
          onValueChange={(itemValue) => {
          setSelectedCourse(itemValue);
          getUserScores(itemValue);
        }}
     >
      {state.courses.map((course) => (
        <Picker.Item key={course.name} label={course.name} value={course} />
      ))}
    </Picker>
© www.soinside.com 2019 - 2024. All rights reserved.