选择手机区号功能

//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 = []
      })

 

posted @ 2024-07-12 11:11  chicidol  阅读(5)  评论(0)    收藏  举报