Mint UI實(shí)現(xiàn)A-Z字母排序的城市選擇列表
本文實(shí)例為大家分享了Mint Ul實(shí)現(xiàn)A-Z字母排序的城市選擇列表的具體代碼,供大家參考,具體內(nèi)容如下
效果圖如下:
項(xiàng)目文件存放路徑圖:
所有代碼如下:
<template> <mt-index-list> <mt-index-section v-for="letter in citySortArr" :key="letter" :index="letter"> <mt-cell v-for="cityName in cityArr" :key="cityName" v-if="cityName.key == letter" :title="cityName.value "></mt-cell> </mt-index-section> </mt-index-list> </template> <script> import city from "../assets/json/city"http://導(dǎo)入所有城市的JSON import { makePy } from "../assets/js/pinying"http://導(dǎo)入插件獲取所有城市中文的大寫首字母 export default { data () { return { arr: [],//存放初始篩選的城市名稱 cityArr: [],//存放第二次篩選后所有城市名稱 citySort: [],//存放初始獲取城市首字母大寫的數(shù)組 citySortArr: []//存放第二次篩選重復(fù),不存在的城市首字母數(shù)組 }; }, created () { /** * 將json數(shù)據(jù)中的無用數(shù)據(jù)剔除 */ for (let i in city) { if (city[i].name != "請選擇") {//將第一層數(shù)據(jù)中為 “請選擇” 的剔除掉 this.arr.push(city[i].name); for (let j in city[i].sub) {//將第二層數(shù)據(jù)中為 “請選擇 和 其他” 的剔除掉 if ( city[i].sub[j].name != "請選擇" && city[i].sub[j].name != "其他" ) { this.arr.push(city[i].sub[j].name);//將處理后的數(shù)據(jù)存放在數(shù)組中,等待第二次篩選處理 } } } } /** * 配置相關(guān)數(shù)據(jù) */ for (let k in this.arr) { let cityKey = makePy(this.arr[k])[0].substring(0, 1);//獲取每一個(gè)市區(qū)的首字母 let cityValue = this.arr[k];//獲取所有市區(qū) this.citySort[cityKey] = cityKey;//利用對象特性,剔除重復(fù)的字母,并將剔除后的字母存進(jìn)對象中 //將所有市區(qū)信息 以( 字母 - 市區(qū)名 )的格式存在至數(shù)組中 this.cityArr[k] = { key: cityKey, value: cityValue }; } /** * 將處理后的首字母數(shù)據(jù)對象,存放至數(shù)組中 */ for (let p in this.citySort) { this.citySortArr.push(this.citySort[p]); } /** * 將真實(shí)存在的市區(qū)首字母按A-Z進(jìn)行排序 */ this.citySortArr = this.citySortArr.sort(); } }; </script> <style> .mint-cell-title { flex: 0 0 auto; } .mint-indexsection-index { text-align: left; } </style>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue.js 實(shí)現(xiàn)微信公眾號(hào)菜單編輯器功能(一)
最近vue.js 非?;馃?,小編也趁機(jī)學(xué)習(xí)了下vuejs的一些基礎(chǔ)知識(shí),于是嘗試做一個(gè)像微信平臺(tái)里的菜單編輯器功能,下面腳本之家小編把vue.js 微信公眾號(hào)菜單編輯器功能的實(shí)現(xiàn)代碼分享給大家,需要的朋友參考下2018-05-05vue3.0+vite2實(shí)現(xiàn)動(dòng)態(tài)異步組件懶加載
學(xué)了vue寫項(xiàng)目這么久,忽然發(fā)現(xiàn)路由懶加載的寫法,節(jié)省了加載所有路由的時(shí)間。本文主要介紹了vue3.0+vite2實(shí)現(xiàn)動(dòng)態(tài)異步組件懶加載,感興趣的可以了解一下2021-06-06Vue Echarts實(shí)現(xiàn)可視化世界地圖代碼實(shí)例
這篇文章主要介紹了Vue Echarts實(shí)現(xiàn)可視化世界地圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05Vue使用new?Blob()實(shí)現(xiàn)不同類型的文件下載功能
這篇文章主要給大家介紹了關(guān)于Vue使用new?Blob()實(shí)現(xiàn)不同類型的文件下載功能的相關(guān)資料,在Vue項(xiàng)目中,經(jīng)常用Blob二進(jìn)制進(jìn)行文件下載功能,需要的朋友可以參考下2023-07-07Vue監(jiān)聽某個(gè)元素以外的區(qū)域被點(diǎn)擊問題
這篇文章主要介紹了Vue監(jiān)聽某個(gè)元素以外的區(qū)域被點(diǎn)擊問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10Vue2/3?登錄后用戶無操作半小時(shí)后自動(dòng)清除登錄信息退出登錄下線(示例代碼)
這篇文章主要介紹了Vue2/3?登錄后用戶無操作半小時(shí)后自動(dòng)清除登錄信息退出登錄下線,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07vue element-ui實(shí)現(xiàn)input輸入框金額數(shù)字添加千分位
這篇文章主要介紹了vue element-ui實(shí)現(xiàn)input輸入框金額數(shù)字添加千分位,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12vue3+ts項(xiàng)目之安裝eslint、prettier和sass的詳細(xì)過程
這篇文章主要介紹了vue3+ts項(xiàng)目02-安裝eslint、prettier和sass的詳細(xì)過程,在本文講解中需要注意執(zhí)行yarn format會(huì)自動(dòng)格式化css、js、html、json還有markdown代碼,需要的朋友可以參考下2023-10-10