您好,登錄后才能下訂單哦!
本文實例為大家分享了Mint Ul實現A-Z字母排序的城市選擇列表的具體代碼,供大家參考,具體內容如下
效果圖如下:
項目文件存放路徑圖:
pinying.js 和 city.json文件下載傳送門
所有代碼如下:
<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: [],//存放初始獲取城市首字母大寫的數組 citySortArr: []//存放第二次篩選重復,不存在的城市首字母數組 }; }, created () { /** * 將json數據中的無用數據剔除 */ for (let i in city) { if (city[i].name != "請選擇") {//將第一層數據中為 “請選擇” 的剔除掉 this.arr.push(city[i].name); for (let j in city[i].sub) {//將第二層數據中為 “請選擇 和 其他” 的剔除掉 if ( city[i].sub[j].name != "請選擇" && city[i].sub[j].name != "其他" ) { this.arr.push(city[i].sub[j].name);//將處理后的數據存放在數組中,等待第二次篩選處理 } } } } /** * 配置相關數據 */ for (let k in this.arr) { let cityKey = makePy(this.arr[k])[0].substring(0, 1);//獲取每一個市區的首字母 let cityValue = this.arr[k];//獲取所有市區 this.citySort[cityKey] = cityKey;//利用對象特性,剔除重復的字母,并將剔除后的字母存進對象中 //將所有市區信息 以( 字母 - 市區名 )的格式存在至數組中 this.cityArr[k] = { key: cityKey, value: cityValue }; } /** * 將處理后的首字母數據對象,存放至數組中 */ for (let p in this.citySort) { this.citySortArr.push(this.citySort[p]); } /** * 將真實存在的市區首字母按A-Z進行排序 */ this.citySortArr = this.citySortArr.sort(); } }; </script> <style> .mint-cell-title { flex: 0 0 auto; } .mint-indexsection-index { text-align: left; } </style>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。