【发布时间】:2021-10-06 10:15:40
【问题描述】:
我在 dart 文件中有很多列表 List<String>。每个列表都包含各个国家/地区的城市名称。
选择一个国家后,我可以将我想要的列表名称,例如“list_cities_japan”,作为String。
我怎样才能选择一个好的列表来显示这个字符串的城市?
【问题讨论】:
我在 dart 文件中有很多列表 List<String>。每个列表都包含各个国家/地区的城市名称。
选择一个国家后,我可以将我想要的列表名称,例如“list_cities_japan”,作为String。
我怎样才能选择一个好的列表来显示这个字符串的城市?
【问题讨论】:
最好的解决方案是将您的国家/地区映射到不同的列表。以下是该解决方案在一个文件中的样子:
Map<String, List<String>> cities = {
"list_cities_japan" : ["tokoyo", "Osaka", "kobe"],
"list_cities_india" : ["Delhi", "manglore", "kerela"]
};
//prints complete map
print(cities);
//print list of countries : (list_cities_japan, list_cities_india)
print(cities.keys);
//prints cities in country list: [tokoyo, Osaka, kobe]
print(cities["list_cities_japan"]);
跨多个文件的解决方案:
文件一
List<String> list_cities_japan = ["tokoyo", "Osaka", "kobe"];
文件二
List<String> list_cities_india = ["Delhi", "manglore", "kerela"];
主文件
import 'fileone';
import 'filetwo';
void main() {
Map<String, List<String>> cities = {
"list_cities_japan" : list_cities_japan,
"list_cities_india" : list_cities_india
};
//print list of countries :(list_cities_japan,list_cities_india)
print(cities.keys);
//prints cities in country list: [tokoyo, Osaka, kobe]
print(cities["list_cities_japan"]);
}
【讨论】:
print(cities["list_cities_japan"]!); 的东西来避免空返回,它会很好地工作。
将所有国家/地区映射到其各自的城市列表,例如:
var map = [
{
'country': 'list_cities_japan',
'cities': ['Hiroshima', 'Nagasaki'],
}
];
从那里,您可以访问给定国家/地区的每个城市列表
【讨论】: