Mint UI實現(xiàn)A-Z字母排序的城市選擇列表
更新時間:2018年12月28日 14:10:16 作者:豆i漿
這篇文章主要為大家詳細介紹了Mint UI實現(xiàn)A-Z字母排序的城市選擇列表,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Mint Ul實現(xiàn)A-Z字母排序的城市選擇列表的具體代碼,供大家參考,具體內容如下
效果圖如下:

項目文件存放路徑圖:

所有代碼如下:
<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://導入所有城市的JSON
import { makePy } from "../assets/js/pinying"http://導入插件獲取所有城市中文的大寫首字母
export default {
data () {
return {
arr: [],//存放初始篩選的城市名稱
cityArr: [],//存放第二次篩選后所有城市名稱
citySort: [],//存放初始獲取城市首字母大寫的數(shù)組
citySortArr: []//存放第二次篩選重復,不存在的城市首字母數(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ù)組中,等待第二次篩選處理
}
}
}
}
/**
* 配置相關數(shù)據(jù)
*/
for (let k in this.arr) {
let cityKey = makePy(this.arr[k])[0].substring(0, 1);//獲取每一個市區(qū)的首字母
let cityValue = this.arr[k];//獲取所有市區(qū)
this.citySort[cityKey] = cityKey;//利用對象特性,剔除重復的字母,并將剔除后的字母存進對象中
//將所有市區(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]);
}
/**
* 將真實存在的市區(qū)首字母按A-Z進行排序
*/
this.citySortArr = this.citySortArr.sort();
}
};
</script>
<style>
.mint-cell-title {
flex: 0 0 auto;
}
.mint-indexsection-index {
text-align: left;
}
</style>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue實現(xiàn)離線地圖+leaflet+高德瓦片的詳細代碼
這篇文章主要給大家介紹了關于vue實現(xiàn)離線地圖+leaflet+高德瓦片的詳細代碼,Vue Leaflet是一種結合了Vue框架和Leaflet庫的前端技術,用于展示和操作天地圖,需要的朋友可以參考下2023-10-10
vue項目前端微信JSAPI與外部H5支付相關實現(xiàn)過程及常見問題
這篇文章主要介紹了vue項目前端微信JSAPI與外部H5支付相關實現(xiàn)過程及常見問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
vue中實現(xiàn)支持txt,docx,xlsx,mp4格式文件預覽功能(純前端)
對于Vue你可以實現(xiàn)文件的預覽功能,這篇文章主要給大家介紹了關于vue中實現(xiàn)支持txt,docx,xlsx,mp4格式文件預覽功能的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-11-11
vue異步axios獲取的數(shù)據(jù)渲染到頁面的方法
今天小編就為大家分享一篇vue異步axios獲取的數(shù)據(jù)渲染到頁面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
vue @click與@click.native,及vue事件機制的使用分析
這篇文章主要介紹了vue @click與@click.native,及vue事件機制的使用分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

