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实现划词标记+划词搜索功能
Mar 06 Javascript
使用jquery插件实现图片延迟加载技术详细说明
Mar 12 Javascript
JS 实现图片直接下载示例代码
Jul 22 Javascript
js调用后台、后台调用前台等方法总结
Apr 17 Javascript
jQuery Ajax调用WCF服务详细教程
Mar 31 Javascript
JS获取url参数、主域名的方法实例分析
Aug 03 Javascript
javascript 封装Date日期类实例详解
May 28 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
angularjs使用div模拟textarea文本框的方法
Oct 02 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
Apr 17 Javascript
vue 解除鼠标的监听事件的方法
Nov 13 Javascript
深入webpack打包原理及loader和plugin的实现
May 06 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
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
关于php curl获取301或302转向的网址问题的解决方法
2011/06/02 PHP
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
php不写闭合标签的好处
2014/03/04 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python中栈的原理及实现方法示例
2019/11/27 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python 实现自动登录+点击+滑动验证功能
2020/06/10 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
办公室秘书自我鉴定
2014/01/18 职场文书
村抢险救灾方案
2014/05/09 职场文书
2015年大学教师工作总结
2015/05/20 职场文书