0

我从 api 获取对象数组。

数据看起来像这样。

Array [
  Object {
    "code": 230,
    "name": "טרגט",
    "themeColor": "#009fe8",
  },
  Object {
    "code": 270,
    "name": "קוסל",
    "themeColor": "#9c3ab4",
  },
  Object {
    "code": 465,
    "name": "מעיין",
    "themeColor": "#0bb694",
  },
  Object {
    "code": 485,
    "name": "מעיין תיכונים",
    "themeColor": "#009fe8",
  },
  Object {
    "code": 700,
    "name": "משרד החינוך",
    "themeColor": "#9c3ab4",
  },
  Object {
    "code": 701,
    "name": "מ.החינוך אולפני",
    "themeColor": "#0bb694",
  },
  Object {
    "code": 702,
    "name": "חינוך התישבותי",
    "themeColor": "#009fe8",
  },
  Object {
    "code": 984,
    "name": "לא לגעת -חברת הדגמה ",
    "themeColor": "#9c3ab4",
  },
]

我想添加一个下拉列表,其中包含来自 api的对象数组“名称”值的项目。

我正在使用 “ react-native- picker -select”中的 RNPickerSelect ;

const [selectedComp, setSelectedComp] = useState("");
  const changeLanguage = (value) => {
    setSelectedComp(value);
  };
<RNPickerSelect
            placeholder={{ label: i18n.t("SET_LANGUAGE") }}
            style={pickerSelectStyles}
            onValueChange={(value) => changeLanguage(value)}
            items={companyName}
            doneText={"בוצע"}
            value={selectedComp}
            useNativeAndroidPickerStyle={false}
            fixAndroidTouchableBug={true}
          />

我希望下拉列表的名称来自对象列表数组,如下所示。

 טרגט
  קוסל
  מעיין
  מעיין תיכונים
  משרד החינוך
  מ.החינוך אולפני
  חינוך התישבותי
  לא לגעת -חברת הדגמה 

如何从数组列表中为下拉列表添加名称?

4

1 回答 1

0

根据官方react-native-picker-select文档,你想在下拉列表中显示的数据,应该有关键字label,但你试图显示name关键字。

组件要渲染的项目

  • 每个项目应采用以下格式:{label: 'Orange', value: 'orange', key: 'orange', color: 'orange', inputLabel: 'Orange!'}
  • 标签和值是必需的

像这样的东西:

<RNPickerSelect
      onValueChange={(value) => console.log(value)}
      useNativeAndroidPickerStyle={false}
      placeholder={{ label: "Select your favourite language", value: null }}
      items={[
          { label: "JavaScript", value: "JavaScript" },
          { label: "TypeStript", value: "TypeStript" },
          { label: "Python", value: "Python" },
          { label: "Java", value: "Java" },
          { label: "C++", value: "C++" },
          { label: "C", value: "C" },
      ]}
  />
于 2022-01-19T13:40:57.033 回答