1

我正在尝试使用react-native-dropdown- picker 的多选功能,该功能可以很好地选择项目,我可以选择多个项目并且也可以获取其值,但我的问题是我无法defaultValue在屏幕加载时显示。

我正在从服务器获取数据,然后尝试显示dropdown-picker

const AccountSelection = (props) => {
      const [accountId, setAccount] = useState([])
      const [accountList, setAccountList] = useState([])
      const [defaultAccount, setDefaultAccount] = useState([])

      useEffect(() => {
        getAccounts()      
      }, [])

      const getAccounts = () => {
        axiosConfig.get('/accounts')
            .then((response) => {
                if (response.status == 200) {
                    const accountData = response.data.payload.data
                        const accountNames = accountData.map((item) => ({ label: item.name, value: item.id, selected: item.id == store.usersDefaultValues.account_id ? true : false }))
                        setAccountList(accountNames)
                        setDefaultAccount(accountNames.find(item => item.selected == true ? item.value : null))
                    }
                }
            })
            .catch((error) => {
                console.log("axios error", error);
            })
       }

       return (
                <View>
                    <DropDownPicker
                        placeholder="Select Account"
                        value={accountId}
                        items={accountList}
                        onChangeItem={(val) => setAccountId(val)}
                        defaultValue={defaultAccount}
                        multiple={true}
                        activeItemStyle={{ backgroundColor: '#F5CCF8' }}
                    ></DropDownPicker>
                </View>
        )
 }

在屏幕加载我得到空白的下拉选择器,它应该显示在哪里1 Item Selected

在此处输入图像描述

react-native-dropdown- picker 中的 DropDownPickerProps可选selected键可用,但它不起作用

items: {
      label: any;
      value: any;
      icon?: () => JSX.Element;
      hidden?: boolean;
      disabled?: boolean;
      selected?: boolean;
    }[];

如果有人对此有解决方案,请分享。谢谢你。

4

0 回答 0