你可以在代码中加入一个判断条件,将县级代码也放进只有一个城市的选项中。具体的做法是在往城市选项中添加县级选项时,先判断该县级代码对应的城市选项是否已经存在,如果存在则直接将县级选项添加到该城市选项的children属性中,如果不存在则创建一个新的城市选项,并将县级选项添加到该城市选项的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 cityCode = code.slice(0, 4);
    const city2 = cityMap.get(cityCode);
    if (city2) {
      city2.children.push(makeOption(county[code], code));
    } else {
      const countyOption = makeOption(county[code], code);
      const provinceCode = code.slice(0, 2);
      const province2 = provinceMap.get(provinceCode);
      if (province2) {
        const cityOption = makeOption(city[cityCode], cityCode, [countyOption]);
        province2.children.push(cityOption);
        cityMap.set(cityCode, cityOption);
      }
    }
  });
  return Array.from(provinceMap.values());
}

这样修改后,如果县级代码对应的城市选项不存在,就会先创建一个新的城市选项,并将县级选项添加到该城市选项中,然后再将该城市选项添加到对应的省份选项中。这样就实现了将县级代码也放进只有一个城市的选项中的功能

我希望在这段代码中加入一个功能比如一个县的代码是110228省份代码是110000城市的代码只有110100一个我希望把这个县也放进只有一个的城市里function useCascaderAreaData const city_list city county_list county province_list province = areaList; const p

原文地址: https://www.cveoy.top/t/topic/h3wI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录