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 相关文章推荐
使图片旋转的3种解决方案
Nov 21 Javascript
jQuery对下拉框,单选框,多选框的操作
Feb 21 Javascript
学习Bootstrap组件之下拉菜单
Jul 28 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
Aug 09 Javascript
js字符串引用的两种方式(必看)
Sep 18 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
微信小程序模板之分页滑动栏
Feb 10 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
Sep 26 Javascript
在小程序中推送模板消息的实现方法
Jul 22 Javascript
vue+element tabs选项卡分页效果
Jun 29 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实现的功能是显示8条基色色带
2006/10/09 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
jQuery构造函数init参数分析
2015/05/13 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
python3.3实现乘法表示例
2014/02/07 Python
python基础教程之lambda表达式使用方法
2014/02/12 Python
详解python使用递归、尾递归、循环三种方式实现斐波那契数列
2018/01/16 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
使用pandas读取文件的实现
2019/07/31 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
python路径的写法及目录的获取方式
2019/12/26 Python
什么是python类属性
2020/06/10 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
上级检查欢迎词
2014/01/18 职场文书
幼儿教师国培感言
2014/02/19 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
求职信格式范文
2015/03/19 职场文书
新闻稿标题
2015/07/18 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
mysql的Buffer Pool存储及原理
2022/04/02 MySQL