javascript - 如何通过 api 使用 react 选择

标签 javascript reactjs react-hooks react-select

我使用react-select作为自动搜索的下拉菜单 导入库和渲染组件:

<Select
              className='search-line'
              placeholder='Search...'
              options={dataList}
              onChange={opt => console.log(opt)}
                 />

问题是选项是来自 API 的对象数组数据:

const data = [
  { id: 1,
    name: 'Bmw'
  },
  { id: 2,
    name: 'Ferrary'
      }
]

但是要渲染选项,react-select 需要具有如下 key-val 的 objs

const options = [
    { value: name, label: name}
]

如何循环遍历我的数组并更改该值和标签 obj key-val ?

这可行,但它会分割我从 API 获取的对象数组中的所有名称:

   const name  = data.map(i => {
     return i.name
   })

  const dataList = [
    { label: name, label: name}
  ]

Data - 是一个带有数据的 prop(从 API 获取的对象数组)

最佳答案

你可以使用

const options = data.map(item => {
    return {
        label: item.name,
        value: item.id     
    }
}

console.log(options) // [{ label: 'Bmw', value: 1}, { label: 'Ferrary', value: 2 }]


<Select
              className='search-line'
              placeholder='Search...'
              options={options}
              onChange={opt => console.log(opt)}
                 />

关于javascript - 如何通过 api 使用 react 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66821428/

相关文章:

javascript - 为什么我不能用 React 更新我的表单字段

javascript - 如何使用 Ajax 将文档上传到 Web api,而不使用 html 用户控件或表单?

javascript - "selection boxes"的正确术语是什么(例如在 Finder 中选择多个项目)? ( react )

javascript - React 钩子(Hook)的奇怪行为 : delayed data update

javascript - React hooks - 从数组中删除多个对象并更新状态

javascript - 获取iframe的层级/数量

javascript - 如何在p5.js的绘制循环中使用随机和循环?

reactjs - React Material UI Autocomplete 显示有问题的选项

Reactjs - 高阶组件卸载无法正常工作

reactjs - 使用useEffect时如何等待渲染完成以获取useContext?