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>
相关推荐
2501_9159184111 分钟前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
秋水无痕21 分钟前
# 手把手教你从零搭建 AI 对话系统 - React + Spring Boot 实战(一)
前端·后端
高桥凉介发量惊人22 分钟前
基础与工程篇-多环境配置(dev/test/prod)与打包策略
前端
墨鱼笔记23 分钟前
前端必看:Vite.config.js 最全配置指南 + 实战案例
前端·vite
kyriewen24 分钟前
异步编程:从“回调地狱”到“async/await”的救赎之路
前端·javascript·面试
前端Hardy27 分钟前
别再手动写 loading 了!封装一个自动防重提交的 Hook
前端·javascript·vue.js
前端Hardy28 分钟前
前端如何实现“无感刷新”Token?90% 的人都做错了
前端·javascript·vue.js
秋水无痕29 分钟前
# 手把手教你从零搭建 AI 对话系统 - React + Spring Boot 实战(二)
前端·后端·面试
SuperEugene37 分钟前
Vue Router 实战规范:path/name/meta 配置 + 动态 / 嵌套路由,统一团队标准|状态管理与路由规范篇
开发语言·前端·javascript·vue.js·前端框架
小彭努力中1 小时前
194.Vue3 + OpenLayers 实战:动态位置 + 高度 + 角度,模拟卫星地面覆盖范围
前端·css·vue.js·openlayers·animate