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 相关文章推荐
父窗口获取弹出子窗口文本框的值
Jun 27 Javascript
javascript CSS画图之基础篇
Jul 29 Javascript
JavaScript.Encode手动解码技巧
Jul 14 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
from 表单提交返回值用post或者是get方法实现
Aug 21 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
Mar 18 Javascript
简洁实用的BootStrap jQuery手风琴插件
Aug 31 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
利用ECharts.js画K线图的方法示例
Jan 10 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
Feb 26 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
微信小程序实现分享商品海报功能
Sep 30 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
ThinkPHP3.1新特性之对页面压缩输出的支持
2014/06/19 PHP
javascript中的new使用
2010/03/20 Javascript
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
移动端自适应flexible.js的使用方法(不用三大框架,仅写一个单html页面使用)推荐
2019/04/02 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
Python中的localtime()方法使用详解
2015/05/22 Python
对python实时得到鼠标位置的示例讲解
2018/10/14 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
2019/09/25 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
python实现PCA降维的示例详解
2020/02/24 Python
python实现五子棋程序
2020/04/24 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
阿迪达斯越南官网:adidas越南
2020/07/19 全球购物
六查六看剖析材料
2014/02/15 职场文书
社区母亲节活动方案
2014/03/05 职场文书
总账会计岗位职责
2014/03/13 职场文书
自主招生教师推荐信
2014/05/10 职场文书
村级个人对照检查材料
2014/08/22 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
有限责任公司股东合作协议书范本
2014/10/30 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
swagger如何返回map字段注释
2021/07/03 Java/Android