Mint UI实现A-Z字母排序的城市选择列表


Posted in Javascript onDecember 28, 2018

本文实例为大家分享了Mint Ul实现A-Z字母排序的城市选择列表的具体代码,供大家参考,具体内容如下

效果图如下:

Mint UI实现A-Z字母排序的城市选择列表

项目文件存放路径图:

Mint UI实现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"//导入所有城市的JSON
import { makePy } from "../assets/js/pinying"//导入插件获取所有城市中文的大写首字母

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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript操作Oracle数据库示例
Mar 06 Javascript
JavaScript数组方法大全(推荐)
Jul 05 Javascript
js实现精确到毫秒的倒计时效果
Aug 05 Javascript
vue日期组件 支持vue1.0和2.0
Jan 09 Javascript
JavaScript实现的XML与JSON互转功能详解
Feb 16 Javascript
JavaScript实现选中文字提示新浪微博分享效果
Jun 15 Javascript
JavaScript 判断对象中是否有某属性的常用方法
Jun 14 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 Javascript
vue slot与传参实例代码讲解
Apr 28 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
Sep 16 Javascript
Openlayers测量距离与面积的实现方法
Sep 25 Javascript
四十九个javascript小知识实用技巧
Nov 20 Javascript
axios携带cookie配置详解(axios+koa)
Dec 28 #Javascript
微信小程序日历/日期选择插件使用方法详解
Dec 28 #Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
Dec 28 #Javascript
微信小程序时间控件picker view使用详解
Dec 28 #Javascript
微信小程序时间选择插件使用详解
Dec 28 #Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 #Javascript
Angular6新特性之Angular Material
Dec 28 #Javascript
You might like
无线电广播的开始
2002/01/30 无线电
给海燕B411配件机起死回生配上件
2021/03/02 无线电
德生9700DX电路分析
2021/03/02 无线电
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
2013/06/21 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
js密码强度校验
2015/11/10 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
11个并不被常用但对开发非常有帮助的Python库
2015/03/31 Python
Python计算一个文件里字数的方法
2015/06/15 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Python自动登录QQ的实现示例
2020/08/28 Python
python 实现压缩和解压缩的示例
2020/09/22 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
日语专业毕业生自荐信
2013/11/11 职场文书
中医专业应届生求职信
2013/11/17 职场文书
消防安全承诺书
2014/05/22 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
事业单位个人总结
2015/02/12 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
小学数学教学随笔
2015/08/14 职场文书
2015年教师节广播稿
2015/08/19 职场文书
关于保护环境的建议书
2019/06/24 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
创业计划书之水果店
2019/07/18 职场文书