javascript - 将接收到的数据对象显示为下拉列表 React Axios
问题描述
我是新手,我正在设计一个下拉菜单,它使用 axios 从 API 接收其信息:
axios.get('/api/jobs/list-tags',{headers:headers}).then(respo =>{
console.log(respo.data)
this.setState({tagsList:respo.data})
})
这是数据的形状:
Object { id: 1, name: "MongoDB" }
Object { id: 2, name: "JavaScript" }
我想使用 react-select 在下拉列表中显示这些数据:
<Select placeholder='Select from pre-created Tags 'onChange={handleDropDown('Tags')} defaultValue={values.Tags} required options={this.state.tagsList} />
但这不会在下拉列表中显示任何项目,仅显示空白框。我怎样才能真正在列表项中连续显示数据?比如:JavaScript,...
解决方案
你可以这样做
<Select
placeholder="Select from pre-created Tags "
onChange={e => handleDropDown(e.target.value)}
required
value={this.state.tag}
>
<options value=''>Select</options>
{this.state.tagsList.map(tags => (
<options key={tags.id} value={tags.name}>
{tags.name}
</options>
))}
</Select>;
和handleDropDown
类似的功能
handleDropDown = tag => {
this.setState({ tag });
};
推荐阅读
- c# - 我怎么能覆盖 AutoFixture AutoMoqCustomization
- ruby-on-rails - 如何直接从 Web url 通过 ActiveStorage 附加图像?
- android - 警报弹出窗口未关闭
- javascript - 如何在钩子中正确更新状态?
- perl - Perl 不能将 last 与 while 语句修饰符一起使用
- c++ - C ++如何指向类中的私有继承类对象
- clojure - 如何在 deps.edn 中设置 *print-length* 的默认值
- javascript - 如何使用 javascript 获取图像 alt 标签?
- outlook-web-addins - 为 web 上的 Outlook 创建加载项
- vue.js - 在哪里放置 Vue 配置(在 Ionic 项目中)