reactjs - 当我从外部更改 Picker 的值时,RNUI Picker 的列表没有正确更新
问题描述
我正在使用 RNUI 的 Picker 组件。每当在 Picker 上选择 Item 时,我都会更新我的状态。当我重置我的状态时,Pickers 占位符会被重置。但是之前的项目仍然在 Pickers List 中被选中。
import React, { useState } from 'react';
import { View, Text, Picker, Button } from 'react-native-ui-lib';
const longOptions = [
{ label: 'ABAP1', value: 'ABAP1' },
{ label: 'ABAP2', value: 'ABAP2' },
{ label: 'ABAP3', value: 'ABAP3' },
{ label: 'ABAP4', value: 'ABAP4' },
{ label: 'ABAP5', value: 'ABAP5' },
];
const Test = () => {
const [language, setLanguage] = useState([]);
return (
<View useSafeArea>
<Text>Hey its working</Text>
<Picker
placeholder="Favorite Language"
floatingPlaceholder
value={language}
enableModalBlur={false}
onChange={item => setLanguage(item)}
topBarProps={{ title: 'Languages' }}
showSearch
searchPlaceholder={'Search a language'}
topBarProps={{
containerStyle: { paddingTop: 40 },
}}
mode={Picker.modes.MULTI}
>
{longOptions.map(option => (
<Picker.Item
key={option.value}
value={option.value}
label={option.label}
disabled={option.disabled}
/>
))}
</Picker>
<Button onPress={() => console.log(language)} label="Show Current" />
<Button onPress={() => setLanguage([])} label="Remove" />
</View>
);
};
export default Test;
解决方案
推荐阅读
- widget - 是否有可用于使文本框只读的脚本或绑定?
- python - 在 pandas 数据框中创建唯一值列表 - 错误:TypeError:“int”和“str”实例之间不支持“<”
- mysql - MySQL INSERT .. SELECT 语句的 auto_increment 字段值顺序是什么
- python-3.x - 意外的 pytest python3 默认参数处理
- typescript - 如何检查对象是否是联合类型之一
- google-apps-script - 运行脚本 onDelete() 或 onUpdate()
- r - 循环中的ggplot子集
- java - JPA Spring 忽略 @Transacational 中的延迟加载
- reactjs - 与弹出的 create-react-app 项目共享组件
- reactjs - Netlify 不会部署,我正在尝试将谷歌标签管理器添加到 gatsby 网站但遇到困难