如何为React Native Expo设置多选默认值?

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

我正在使用react-native-dropdown-select-list包来创建多选下拉列表。很难设置预填充的默认值。对编辑表单页面使用预填充的默认值,我希望在其中预填充当前选定的选项。

我查找了react-native-dropdown-select-list的存储库,似乎用于存储默认值的defaultOption属性不可用于多选,即使它可用于单选下拉列表。有人知道设置预填充默认值的解决方法吗?或者我是否必须从头开始创建自己的多选下拉列表?

此处的默认选项有效:

import {
  MultipleSelectList,
  SelectList,
} from "react-native-dropdown-select-list";

<SelectList
  onSelect={() => alert('selected')}
  setSelected={(setSelected => console.log(setSelected))}
  data={options}
  defaultOption={{ value: "Jammu & Kashmir", key: "1", }} //default selected option
/>

这不起作用:

import {
  MultipleSelectList,
  SelectList,
} from "react-native-dropdown-select-list";

<MultipleSelectList
  onSelect={() => alert('selected')}
  setSelected={(setSelected => console.log(setSelected))}
  data={options}
  defaultOption={{ value: "Jammu & Kashmir", key: "1", }} //default selected option
/>

我尝试将 defaultOption 属性传递给 MultipleSelectList,我也尝试过其他库,但没有成功。

react-native expo dropdown multi-select
1个回答
-1
投票
React.useEffect(() => {
      if (!_firstRender && defaultOption && oldOption.current != defaultOption.key){
        oldOption.current = defaultOption.key
        setSelected(defaultOption.key);
        setSelectedVal(defaultOption.value);
      }
      if (defaultOption && _firstRender && defaultOption.key != undefined){
        oldOption.current = defaultOption.key
        setSelected(defaultOption.key);
        setSelectedVal(defaultOption.value);
      }
}, [defaultOption])
© www.soinside.com 2019 - 2024. All rights reserved.