JavaScript Cascader组件:将县级数据添加到只有一个城市的省份下
要将县放入只有一个城市的'children'中,需要先找到对应的城市代码,并将县作为一个选项加入城市的'children'数组中。可以在代码中加入以下逻辑来实现:
Object.keys(county).forEach((code) => {
const city2 = cityMap.get(code.slice(0, 4));
const province2 = provinceMap.get(code.slice(0, 2));
if (city2) {
city2.children.push(makeOption(county[code], code));
} else if (province2) {
const cityCode = code.slice(0, 4);
const cityName = city[cityCode];
const cityOption = makeOption({ [cityCode]: cityName }, cityCode, [makeOption(county[code], code)]);
province2.children.push(cityOption);
cityMap.set(cityCode, cityOption);
}
});
这段代码将在遍历县的代码时,首先尝试找到对应的城市对象'city2'。如果找到了,就将县作为一个选项加入城市的'children'数组中。如果没有找到城市对象,就尝试找到对应的省份对象'province2'。然后创建一个新的城市选项'cityOption',将县作为一个选项加入城市选项的'children'数组中。最后将城市选项加入省份的'children'数组中,并将城市选项保存到'cityMap'中,以便后续的查找。
原文地址: http://www.cveoy.top/t/topic/pMt6 著作权归作者所有。请勿转载和采集!