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 hashtable 修正版 下载
Dec 30 Javascript
JQuery防止退格键网页后退的实现代码
Mar 23 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
Apr 18 Javascript
分享28款免费实用的 JQuery 图片和内容滑块插件
Dec 15 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
JavaScript中的Function函数
Aug 27 Javascript
原生js开发的日历插件
Feb 04 Javascript
js实现带三角符的手风琴效果
Mar 01 Javascript
详谈jQuery.load()和Jsp的include的区别
Apr 12 jQuery
Vue中保存用户登录状态实例代码
Jun 07 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
vue实现的多页面项目如何优化打包的步骤详解
Jul 19 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP里的中文变量说明
2011/07/23 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
深入解析php之apc
2013/05/15 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
php图片上传类 附调用方法
2016/05/15 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
python:print格式化输出到文件的实例
2018/05/14 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Python用5行代码写一个自定义简单二维码
2018/10/21 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
如何利用Python模拟GitHub登录详解
2019/07/15 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
python字典与json转换的方法总结
2020/12/28 Python
自动化专业个人求职信范文
2013/12/30 职场文书
电气工程师岗位职责
2015/02/12 职场文书
监守自盗观后感
2015/06/10 职场文书
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js