uniapp把城市换成26个字母和城市排序

后端返回的数据

我们要得效果

js 复制代码
<template>
	<view>
		<view v-for="(value,key) in cities" :key="key">
			<view style="color: red;"> {{ key }} </view>
			 <view style="border: 1rpx solid black;">
				<text v-for="item in value" style="margin-right: 15rpx;"> {{ item }} </text>
			 </view>
		</view>
	</view>
</template>

<script>
	import { citysApi } from '@/api/city.api.js'
	export default {
		data() {
			return {
				cities: {}
			}
		},
		methods: {
		},
		async onLoad() {
			const res = await citysApi()
			let obj = {}
		
			for(let i = 65; i <= 90; i++) {
				let key = String.fromCharCode(i)
				obj[key] = []
			}
			res.data.forEach(item => {
				let key = item.city_pre.toLocaleUpperCase()
				obj[key].push(item.city_name)
			})
			// 把长度为0的项,删除掉
			Object.keys(obj).forEach(key => {
				if(obj[key].length === 0)  delete obj[key]
			})
			this.cities = obj
		}
	}
</script>

<style>

</style>
相关推荐
济6172 分钟前
linux 系统移植(第六期)--Uboot移植(5)--bootcmd 和 bootargs 环境变量-- Ubuntu20.04
java·前端·javascript
FFF-X6 分钟前
UniApp 小程序实现自定义每张图片播放时长的轮播图(基于 uView 的 u-swiper)
小程序·uni-app
lili-felicity17 分钟前
React Native for OpenHarmony 实战:Easing 动画完全指南
javascript·react native·react.js
m0_7482546627 分钟前
AJAX 基础实例
前端·ajax·okhttp
vmiao28 分钟前
【前端入门】商品页放大镜效果(仅放大镜随鼠标移动效果)
前端
持续前行32 分钟前
vscode 中找settings.json 配置
前端·javascript·vue.js
Anita_Sun34 分钟前
Lodash 源码解读与原理分析 - Lodash IIFE 与兼容性处理详解
前端
用户9047066835735 分钟前
Nuxt 请求后端接口怎么写,一篇文章讲清楚
前端
ahubbub38 分钟前
用 maptalks 在 Web 上做可扩展的 2D/3D 地图渲染与交互
前端
JosieBook40 分钟前
【Vue】11 Vue技术——Vue 中的事件处理详解
前端·javascript·vue.js