Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从道具返回对象数组_Javascript_Reactjs - Fatal编程技术网

Javascript 从道具返回对象数组

Javascript 从道具返回对象数组,javascript,reactjs,Javascript,Reactjs,因此,我有以下组件,它是使用创建的下拉列表 如何利用此.props.fends获取对象的选项数组 编辑:多顿饭可以有相同的类别,我需要每个类别在选项中只显示一次。您可以这样做: options={this.props.meals.map( ({id, name})=>({value:id,label:name}) )} 您还可以使用创建一个容器,该容器将数据映射到下拉列表值 可以按以下方式按类别合并数据: 可变项目=[ { id:0, 名称:“意大利面”, 类别:“意大利语”, 价

因此,我有以下组件,它是使用创建的下拉列表

如何利用此.props.fends获取对象的选项数组


编辑:多顿饭可以有相同的类别,我需要每个类别在选项中只显示一次。

您可以这样做:

options={this.props.meals.map(
  ({id, name})=>({value:id,label:name})
)}
您还可以使用创建一个容器,该容器将数据映射到下拉列表值

可以按以下方式按类别合并数据:

可变项目=[ { id:0, 名称:“意大利面”, 类别:“意大利语”, 价格:5.99,, }, { id:1, 名称:“汉堡包”, 类别:"美国",, 价格:7.99, }, { id:2, 名称:“其他汉堡”, 类别:"美国",, 价格:7.99, }, ]; console.log [ …项目。减少 结果,项目=> result.getitem.category ?result.getitem.category.pushitem.id :result.setitem.category,[item.id], 后果 , 新地图, , ].map[label,value]=>{label,value},
; 你可以这样做:

options={this.props.meals.map(
  ({id, name})=>({value:id,label:name})
)}
您还可以使用创建一个容器,该容器将数据映射到下拉列表值

可以按以下方式按类别合并数据:

可变项目=[ { id:0, 名称:“意大利面”, 类别:“意大利语”, 价格:5.99,, }, { id:1, 名称:“汉堡包”, 类别:"美国",, 价格:7.99, }, { id:2, 名称:“其他汉堡”, 类别:"美国",, 价格:7.99, }, ]; console.log [ …项目。减少 结果,项目=> result.getitem.category ?result.getitem.category.pushitem.id :result.setitem.category,[item.id], 后果 , 新地图, , ].map[label,value]=>{label,value}, ; 映射到this.props.fines数组,并创建所需的选项数组

<Select
    isMulti
    isSearchable
    placeholder={"catégories"}
    value={selectedOption}
    onChange={this.handleChange}
    options={this.props.meal.map(item=>({value: item.id, label: item.name}))}
/>
映射到this.props.fines数组,并创建所需的选项数组

<Select
    isMulti
    isSearchable
    placeholder={"catégories"}
    value={selectedOption}
    onChange={this.handleChange}
    options={this.props.meal.map(item=>({value: item.id, label: item.name}))}
/>

您只需要name属性,因此当您映射到膳食时,只需检索它。然后大写第一个字母

康斯特餐饮=[{ id:0, 名称:意大利面, 类别:意大利语, 售价:5.99 }, { id:1, 名称:汉堡包, 类别:美国, 售价:7.99 } ] const result=fines.map{name}=>{ 标签:`${name[0].toUpperCase}${name.slice1}`, 值:name }
console.logresult 您只需要name属性,因此当您映射到膳食时,只需检索它。然后大写第一个字母

康斯特餐饮=[{ id:0, 名称:意大利面, 类别:意大利语, 售价:5.99 }, { id:1, 名称:汉堡包, 类别:美国, 售价:7.99 } ] const result=fines.map{name}=>{ 标签:`${name[0].toUpperCase}${name.slice1}`, 值:name } console.logresult 您可以使用getOptionLabel和getOptionValue道具

getOptionLabel generic=选项=>字符串

将选项数据解析为要按组件显示为标签的字符串

getOptionValue generic=option=>string

将选项数据解析为字符串以比较选项并指定值属性

您可以使用getOptionLabel和getOptionValue道具

getOptionLabel generic=选项=>字符串

将选项数据解析为要按组件显示为标签的字符串

getOptionValue generic=option=>string

将选项数据解析为字符串以比较选项并指定值属性


谢谢@HMR!事实上,我忘了提到一些食物有相同的类别。我希望每个类别在选项中只出现一次。我现在就编辑我的帖子,让它更清晰。@JulesCorb你会扔掉与上一篇文章类别相同的文章,还是合并这些文章。如果您想合并,那么您将如何合并这些项目?最好提供一个示例源和预期输出。这两种解决方案都适合我的问题。我所需要的只是在我的选项中每个类别只有一次。因此,我是否必须扔掉或合并项目并不重要。我会选择最简单、最干燥的解决方案。@JulesCorb更新了答案。谢谢@HMR!事实上,我忘了提到一些食物有相同的类别。我希望每个类别在选项中只出现一次。我现在就编辑我的帖子,让它更清晰。@JulesCorb你会扔掉与上一篇文章类别相同的文章,还是合并这些文章。如果您想合并,那么您将如何合并这些项目?最好提供一个示例源和预期输出。这两种解决方案都适合我的问题。我所需要的只是在我的选项中每个类别只有一次。因此,我是否必须扔掉或合并项目并不重要。我会选择最简单、最干燥的解决方案。@JulesCorb更新了答案。正如我在帖子中所说,我实际上需要的是类别,而不是名称。这不是getOptionLabel={m=>m.na吗
me}而不是getOptionLabel={m=>c.name}?无论如何,除了这些细节,这也是一个有效的答案,所以非常感谢你!问题是,我只需要每个类别一次,这让我在选项中多次使用同一类别。正如我在帖子中所说,我实际上需要的是类别,而不是名称。是不是getOptionLabel={m=>m.name}而不是getOptionLabel={m=>c.name}?无论如何,除了这些细节,这也是一个有效的答案,所以非常感谢你!问题是,我只需要每个类别一次,这让我在选项中多次使用同一类别。非常感谢您的帮助!请参阅我的帖子编辑,我想找到一种方法,让我不想看到的每个类别的名称btw在选项中只出现一次。非常感谢您的帮助!请看我的文章编辑,我想找到一种方法,让每个类别,我不寻找名称btw只出现在选项一次。
<Select
    options={this.props.meals},
    getOptionLabel={m => m.name}
    getOptionValue={m => m.id} />