我正在制作一个简单的高尔夫分数跟踪应用程序,并使用 react-native-picker 库来帮助我选择我想要查看的课程。该功能全部正常工作,并且它选择了正确的值,但由于某种原因,选择器弹回到列表中的第一项。
这张截图是我使用选择器向下滚动到“Whispering Pines Golf Resort”后直接拍摄的,您可以看到下面的字幕已正确更新。只有选取器本身弹回顶部。
奇怪的是,它在 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 文件来填充的。
我的代码有问题还是库中存在错误?
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>