reactjs - 访问数据并在下拉列表中显示
问题描述
我有数据:
Rooms.
Rooms : {"_id":{"$oid":"46746766474664"},"RoomID":{"$numberInt":"1"},"RoomDesc":"1st Floor"}
我正在尝试访问并在下拉列表中显示它们。
安装时我正在执行此操作。
mongodb.db("TestDB")
.collection("Rooms")
.find({}, { limit: 1000 })
.asArray()
.then(rooms => {
this.setState({ rooms });
});
在可靠的下拉列表中,
<Dropdown
placeholder='Select Rooms'
fluid
search
selection
options={this.state.rooms.RoomID}
//value={RoomID}
/>
它总是返回 Null 没有条目。我怎样才能访问这些数据?我应该使用地图(或)任何其他建议。有没有办法可以在控制台上构建。
从 mongodb 提示所有结果看起来都很好。
解决方案
我认为您正在使用Dropdown - Semantic UI React
.you 得到一个没有值的下拉列表,因为您的状态结构。下拉options
应该是这样的
{
key: "....",
text: "...",
value: "..."
}
使用 map 函数转换行数据以满足 Dropdown 的最低要求。
如果 MongoDB 返回结果,则
更新
rooms: [
{
_id: { $oid: "46746766474664" },
RoomID: { $numberInt: "1" },
RoomDesc: "1st Floor"
},
{
_id: { $oid: "46746766474665" },
RoomID: { $numberInt: "2" },
RoomDesc: "2st Floor"
}
]
然后您可以转换为理想的结构
this.setState({
options: [
...this.state.rooms.map(item => {
return {
key: item._id.$oid,
text: item.RoomDesc,
value: item.RoomID.$numberInt
};
})
]
});
使用虚拟数据工作的临时Codesandbox 示例。
推荐阅读
- android - 始终运行带有位置更新的 android 应用程序
- c# - 如何更正我的旋转平台脚本并修复 Unity 中的错误纹理?
- python - PyTorch 的 `no_grad` 函数的 TensorFlow/Keras 等价物是什么?
- xml - 如何在 OpenERP 或 Odoo 中解决此错误消息?
- javascript - 打字稿useContext中props.children的问题
- python - 如何在 discord.py 中进行高低命令
- woocommerce - 如何删除默认运输方式并强制客户计算运输方式
- swift - 使用下标时出错(下标(_:)' 不可用:)
- reactjs - 如何使用 navlink react 路由器重定向到另一个页面
- javascript - 在前端访问对话框流 api 时出现 POST 错误问题