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 相关文章推荐
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
Jun 10 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
js钢琴按钮波浪式图片排列效果代码分享
Aug 26 Javascript
jQuery实现验证年龄简单思路
Feb 24 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
Jun 01 Javascript
javascript类型系统——undefined和null全面了解
Jul 13 Javascript
AngularJS实现网站换肤实例
Feb 19 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
js正则匹配多个全部数据问题
Dec 20 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
Mar 03 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
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
php读取远程gzip压缩网页的方法
2014/12/29 PHP
如何打开php的gd2库
2017/02/09 PHP
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
基本DOM节点操作
2017/01/17 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
python实现简单日期工具类
2019/04/24 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
python读取图片颜色值并生成excel像素画的方法实例
2021/02/19 Python
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
一些网络技术方面的面试题
2014/05/01 面试题
学生自我鉴定范文
2013/10/04 职场文书
商场拾金不昧表扬信
2014/01/13 职场文书
酒店管理专业毕业生求职自荐信
2014/04/28 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
mysql事务隔离级别详情
2021/10/24 MySQL
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js