json - 反应:用另一个文件中的 json 数据填充选择菜单
问题描述
所以我有一个counties.json
文件,我有一个带有选择输入的文件:
<FormGroup row>
<Label for="" sm={2}>Site County</Label>
<Col sm={10}>
<Input className="form-control" type="select">
<option>Louth</option>
<option>Dublin</option>
<option>Louth</option>
</Input>
</Col>
</FormGroup>
我的目标是用 json 文件中的数据填充选择输入。我怎样才能做到这一点?
解决方案
由于您要加载 json 数据,因此您会发现使用该json-loader
包很有帮助。这允许您将 json 数据导入到变量中。
要将包添加到您的项目中,请执行以下操作:
npm install json-loader
添加后,假设您有一个名为 的数据文件counties.json
,那么您可以执行以下操作:
import jsonData from './counties.json'
假设您的 json 数据如下所示:
{
"counties": [
{ "value": "louth",
"display": "Louth" },
{ "value": "dublin",
"display": "Dublin" }
]
}
然后,您可以从 json 数据中获取您的县,如下所示:
const counties = jsonData.counties // This is an array
一旦你有了你的数组,你可以使用数组的map()
函数将数组的每个元素(在这个例子中,是一个带有键value
和的对象display
)变成一个<option>
. 但请确保,因为您正在呈现一组选项,所以您为每个选项提供了一个唯一的键。只需使用value
就足够了。所以,render()
它看起来像这样:
<Input className="form-control" type="select">
{ counties.map(c => (<option key={c.value} value={c.value}>{c.display}</option>))}
</Input>
这是一个代码沙箱,它演示了所有这些代码的实际作用。
希望这可以帮助!
`
推荐阅读
- java - 使用 lambdas 返回列表中的匹配元素
- git - Git 确定最新提交
- javascript - Angular 商店弹出删除项目以按顺序添加回来
- javascript - 如何访问嵌套的 json 属性
- woocommerce - 我可以从 woocommerce 产品页面中删除数量选项吗?
- python - Getting a 'bad listbox index' error when trying to return a value from cursor selection in tkinter listbox
- excel - 如何指向替代 .pst 的文件夹?
- php - PHP 扩展的问题
- c - 为什么这段代码有效而另一部分无效?(指针和链表)
- java - 如何使用存储库模式更新 mongodb 中的嵌入文档