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 05 Javascript
JavaScript中的单引号和双引号报错的解决方法
Sep 01 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
Dec 19 Javascript
javascript 构造函数方式定义对象
Jan 02 Javascript
AngularJS基础知识笔记之表格
May 10 Javascript
js简单实现Select互换数据的方法
Aug 17 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
Sep 29 Javascript
Javascript中内建函数reduce的应用详解
Oct 20 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
详解Vue结合后台的列表增删改案例
Aug 21 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 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
深入file_get_contents与curl函数的详解
2013/06/25 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
jQuery中dom元素上绑定的事件详解
2015/04/24 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
js中offset,client , scroll 三大元素知识点总结
2019/09/11 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python中使用dom模块生成XML文件示例
2015/04/05 Python
简单介绍Ruby中的CGI编程
2015/04/10 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
Python之re操作方法(详解)
2017/06/14 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
python调用staf自动化框架的方法
2018/12/26 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
企业办公室主任岗位职责
2014/02/19 职场文书
劲霸男装广告词
2014/03/21 职场文书
班长竞选演讲稿
2014/04/24 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
Python绘画好看的星空图
2022/03/17 Python