javascript - ReactJs在optgroup中显示数据

标签 javascript reactjs ant-design-pro

this.props.datacat.map(singleData=>{
  return Object.keys(singleData).map((key,i) =>{
     if(key==='name'){
        return <OptGroup label  = {singleData[key]}>
     }else{
        return <Option key= {key} >{singleData[key]}</Option> 
     }
        return </OptGroup>
  })
})

(this.props.datacat)的数据

[
  {
    "4967": "Others.",
    "4968": "Sports & Beachwear > Others.",
    "4969": "Lingerie & Nightwear > Others.",
    "4971": "Pants & Shorts > Others.",
    "name": "Women Clothes"
  },
  {
    "4798": "Supplements > Others.",
    "4802": "Men's Grooming > Others.",
    "4952": "Others.",
    "4953": "Medical Supplies > Others.",
    "4954": "Personal Pleasure > Others.",
    "4955": "Personal Care > Others.",
    "4956": "Pedicure & Manicure > Others.",
    "6647": "Lips > Lip Tint"
    "name": "Health & Beauty"
  }
]

上面的代码尝试显示数据,如果键是name,然后创建optgroup标签,否则它将显示选项值中的所有数据。之后,选项值 ID <Option key= {key} >{singleData[key]}</Option> 应该在选项值内,并且要显示的文本就是该值。有人知道怎么做吗:(?

最佳答案

this.props.datacat 的每个条目创建一个 OptGroup,然后用该条目的所有选项填充它,除了带有键 name 的选项:

this.props.datacat.map((singleData) => (
  <OptGroup label={singleData["name"]}>
    {Object.keys(singleData)
      .filter(key => key !== "name")
      .map(key => (
        <Option key={key}>{singleData[key]}</Option>
      ))}
  </OptGroup>
));

Demo

关于javascript - ReactJs在optgroup中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58653252/

相关文章:

javascript - 动态数据打印

使用 Google Maps API 时的 Javascript 作用域问题

javascript - 将事件处理程序添加到 map 中 li 的最后一项

javascript - react 视频渲染

reactjs - Ant Design 表行类名多个条件

javascript - 使用 google api 登录我的网站 [onsignincallback not found error]

javascript - Thymeleaf 将数据从 html id 传递到 thymeleaf 变量

reactjs - 在商店中触发操作是不好的做法吗?

reactjs - 在 Antd React App 中重新创建像 Sider/Drawer 这样的 Ant Design Pro

reactjs - Ant 设计 - 如何在每次选择后自动关闭选择 ("tags"或 "multiple"模式)下拉列表?