//groupBy根据某个属性或条件将数组中的元素分组
import {groupBy} from "lodash-es";
//兼容低版本
import '@formatjs/intl-displaynames/polyfill'
import '@formatjs/intl-displaynames/locale-data/en'
import '@formatjs/intl-displaynames/locale-data/id'
import '@formatjs/intl-displaynames/locale-data/zh'
//获取区号信息
apiGetRegionList(params,header).then(res => {
const data = res.data
if (data.code === '0000') {
const regionNames = new Intl.DisplayNames([this.language], {type: 'region'});
// 根据当前地区自动选中国际电话区号
const currentRegionConfig = data.data.find(ele => ele.shortName === this.region)
if (currentRegionConfig) {
this.ISDCode = currentRegionConfig.code
}
// 根据世界国家地区首字母排序
const addI18n = data.data.map(ele => ({
...ele,
i18nName: regionNames.of(ele.shortName)
}))
const group = groupBy(addI18n, 'firstLetter')
this.ISDList = Object.entries(group).sort((a, b) => a[0].localeCompare(b[0]))
console.log(this.ISDList)
} else {
this.ISDList = []
}
}).catch(err => {
console.error(err)
this.ISDList = []
})