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 23 Javascript
js中创建对象的几种方式示例介绍
Jan 26 Javascript
jQuery中;function($,undefined) 前面的分号的用处
Dec 17 Javascript
AngularJS初始化静态模板详解
Jan 14 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
Nov 09 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
layui选项卡效果实现代码
May 19 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
浅谈Vue网络请求之interceptors实际应用
Feb 28 Javascript
详解Javascript中new()到底做了些什么?
Mar 29 Javascript
微信小程序实现折线图的示例代码
Jun 07 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
javascript数组的扩展实现代码集合
2008/06/01 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
APP中javascript+css3实现下拉刷新效果
2016/01/27 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
Python实现全角半角转换的方法
2014/08/18 Python
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
Python中非常实用的一些功能和函数分享
2015/02/14 Python
Python中的列表知识点汇总
2015/04/14 Python
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python linecache 处理固定格式文本数据的方法
2019/01/08 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
python实现一个猜拳游戏
2020/04/05 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
《值日生》教学反思
2014/02/17 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
餐厅收银员岗位职责
2015/04/07 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL