我有一个本地 json 文件,根据公司名称和/或分支名称,我需要将它们加载到 Flutter 的 2 个不同的下拉列表中。
1) 公司下拉菜单: 它将包含/显示带有公司代码的公司名称列表,例如;
示例:A公司(01)
2) 分支下拉菜单: 它将包含/显示基于所选公司名称的 BranchName 和 BranchCode 列表;
示例:第一分支 (0001)
我的问题是我可以加载本地 Json 文件并添加到 Map,但如何添加到列表以便可以在 Flutter 中加载下拉列表?
{
"branch":[
{
"companyCode”:”01”,
"companyName”:”Comapmy A”,
"branchCode”:”0001”,
"branchName”:”First Branch“
},
{
"companyCode”:”01",
"companyName”:”Company A”,
"branchCode”:”0002”,
"branchName”:”Second Branch”
},
{
"companyCode”:”02”,
"companyName”:”Company B”,
"branchCode”:”0001”,
"branchName”:”First Branch”
}
]
}
String jsonCompany = await rootBundle.loadString("packages/capi/company.json");
Map _mapCompnay = jsonDecode(jsonCompany);
最佳答案
这里有 json 对象:
Map _mapCompany = jsonDecode(jsonCompany);
接下来,从 branch
对象获取数组:
List list = _mapCompany["branch"];
就这样,现在您可以使用列表来填充 DropDown:
DropdownButton<String>(
items:list.map((Map val){
return DropdownMenuItem<String>(
value: val["companyCode"],
child: new Text(val["companyName"]),
);
}).toList(),
...
关于json - 如何根据其他下拉选项加载本地Json到Flutter DropDown?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870728/