React native 如何将对象绑定到SelectItem组件?

React native 如何将对象绑定到SelectItem组件?,react-native,react-native-android,react-native-ui-kitten,react-native-component,React Native,React Native Android,React Native Ui Kitten,React Native Component,有人能帮我吗?我正在使用UI Kitten的select和selectiem组件,我需要知道如何将对象绑定到SelectedItem组件 我想作为绑定对象传递一些值: data={ (['OPT1', 'Option 1'], ['OPT2', 'Option 2'], ['OPT3', 'Option 3'], ['OPT4', 'Option 4'], ['OPT5', 'Option 5']) } 然后,我将使用如下内容渲染每个select的选项: const rend

有人能帮我吗?我正在使用UI Kitten的select和selectiem组件,我需要知道如何将对象绑定到SelectedItem组件

我想作为绑定对象传递一些值:

data={
 (['OPT1', 'Option 1'],
  ['OPT2', 'Option 2'],
  ['OPT3', 'Option 3'],
  ['OPT4', 'Option 4'],
  ['OPT5', 'Option 5'])
}
然后,我将使用如下内容渲染每个select的选项:

const renderOption = (title: string, key: string) => (
     <SelectItem title={title} key={key} />
  );
const renderOption=(标题:string,关键字:string)=>(
);
此选项可以使用映射函数填充:

<Select
  style={styles.inputSetting}
  textAlign="right"
  size="small"
  placeholder={placeholder}
  value={value}>
  {data && data.map(renderOption)}
</Select>

{data&&data.map(渲染)}
这将不起作用,因为映射函数需要(值:never,索引:number),而SelectItem组件没有“键”属性

我需要获取键值,而不是显示值


如果您能为我指出正确的方向,我们将不胜感激。

首先可以修改的是您的数据结构!这是一个非结构化格式的2x5矩阵! 由于
.map()
函数用于数组,因此无法将其用于,没有对象的本机映射。但如果来自服务器的数据结构超出您的控制,则可以使用对象方法通过键和值进行映射


我希望它有帮助

您可以像这样使用索引

<Select
  style={styles.inputSetting}
  textAlign="right"
  size="small"
  placeholder={placeholder}
  value={value}>
  {data && data.map((dataItem,index)=>renderOption({title:dataItem,key:index}))}
</Select>

{data&&data.map((dataItem,index)=>renderOption({title:dataItem,key:index}))}

这似乎对我有用

<Select
   style={styles.select}
   placeholder="Default"
   value={displayValue}
   selectedIndex={selectedIndex}
   onSelect={(index) => setSelectedIndex(index as any)}>
   {data.address.map((item, i) => (
     <SelectItem title={item.streetNumber} key={i} />
   ))}
</Select>
setSelectedIndex(索引为任意索引)}>
{data.address.map((项目,i)=>(
))}

你好,阿米尔。非常感谢你的回答!实际上,这不是来自服务器的模型,所以是的,我可以处理其中的数据。我可以这样使用:data={[{key:'OPT1',value:'Option 1'},{key:'OPT2',value:'Option 2'},{key:'OPT3',value:'Option 3'},{key:'OPT4',value:'Option 4'},{key:'OPT5',value:'Option 5'},]}我想知道的是如何将它绑定到UI Kitten元素的SelectItem,因为我找不到其中的关键道具…亲爱的教授,我还没有使用UI Kitten,但不幸的是,我发现的问题是地图数据,但我搜索到了,我找到了这个链接,我希望它能帮助你@goldenlight非常感谢,穆罕默德,谢谢你的回答!这对我的映射部分很有帮助,但仍然不知道如何使用UI Kitten的SelectItem绑定到键/值对。我考虑使用两个数组:一个用于填充的SelectItems,另一个用于数据。然后,在数据对象中搜索用户选择的值。但是,如果两个值共享相同的标题(显示文本),我可能会遇到问题。很抱歉,我不理解您的评论。我相信您不需要两个阵列。您可以使用索引作为键