我希望在这段代码中加入一个功能比如一个县的代码是110228省份代码是110000城市的代码只有110100一个我希望把这个县也放进城市里function useCascaderAreaData const city_list city county_list county province_list province = areaList; const provin
可以在代码中加入一个功能,将县的代码也放进城市中。具体的做法是在遍历county时,根据县的代码找到对应的城市,然后将县添加到城市的children中。
修改后的代码如下:
function useCascaderAreaData() {
const {
city_list: city,
county_list: county,
province_list: province
} = areaList;
const provinceMap = /* @__PURE__ */ new Map();
Object.keys(province).forEach((code) => {
provinceMap.set(code.slice(0, 2), makeOption(province[code], code, []));
});
const cityMap = /* @__PURE__ */ new Map();
Object.keys(city).forEach((code) => {
const option = makeOption(city[code], code, []);
cityMap.set(code.slice(0, 4), option);
const province2 = provinceMap.get(code.slice(0, 2));
if (province2) {
province2.children.push(option);
}
});
Object.keys(county).forEach((code) => {
const city2 = cityMap.get(code.slice(0, 4));
if (city2) {
city2.children.push(makeOption(county[code], code));
} else {
// 如果找不到对应的城市,则将县添加到省份的children中
const province3 = provinceMap.get(code.slice(0, 2));
if (province3) {
province3.children.push(makeOption(county[code], code));
}
}
});
return Array.from(provinceMap.values());
}
这样,如果有对应的城市代码,县将会被添加到城市的children中;如果找不到对应的城市代码,县将会被添加到省份的children中
原文地址: https://www.cveoy.top/t/topic/h3wk 著作权归作者所有。请勿转载和采集!