【发布时间】:2021-08-23 15:12:59
【问题描述】:
我正在实现一个反应应用程序,其中有一个带有不同选项的下拉菜单,这些选项是使用 json-server 从虚拟后端 api 获取的我能够添加选项,但我需要添加也从接口。
这是我的 db.json Api 结构:
{
"groups":[
{
"key":"version",
"apis":["system_info","admin"]
},
{
"key":"admin",
"apis":["patients","doctors"]
},
]
}
在上面的json响应中keys是选项,apis下的所有字符串都是子选项。
这是我的下拉菜单实现:
import React from "react";
export default class ApiDropDown extends React.Component {
constructor() {
super();
this.state = {
options: []
};
}
componentDidMount() {
this.fetchOptions();
}
fetchOptions() {
fetch("http://localhost:5000/groups")
.then((res) => {
return res.json();
})
.then((json) => {
console.log(json);
this.setState({ options: json });
});
}
render() {
return (
<div >
<select className="togglebutton" >
<option selected disabled>Choose here</option>
{this.state.options.map((option, key) => (
<option key={key}>{option["key"]}</option>
))}
</select>
</div>
);
}
}
API 响应:
0: {key: "version", apis: Array(2)}
1: {key: "admin", apis: Array(2)}
上面的下拉菜单适用于选项,但我需要实现子选项。 知道如何实现吗?
谢谢!
【问题讨论】:
标签: javascript html json reactjs components