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 相关文章推荐
短信提示使用 特效
Jan 19 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
Jun 09 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
Oct 29 Javascript
jQuery内存泄露解决办法
Dec 13 Javascript
将鼠标焦点定位到文本框最后(代码分享)
Jan 11 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
详解JS中的柯里化(currying)
Aug 17 Javascript
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
vue-cli脚手架build目录下utils.js工具配置文件详解
Sep 14 Javascript
vue+openlayers绘制省市边界线
Dec 24 Vue.js
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&amp;MYSQL服务器配置说明
2006/10/09 PHP
php下实现农历日历的代码
2007/03/07 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
php实现图片压缩处理
2020/09/09 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
Javascript中With语句用法实例
2015/05/14 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[00:43]FTP典藏礼包 DOTA2三大英雄霸气新套装
2014/03/21 DOTA
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
python tkinter界面居中显示的方法
2018/10/11 Python
python配置文件写入过程详解
2019/10/19 Python
HTML+CSS3 模仿Windows7 桌面效果
2010/06/17 HTML / CSS
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
医学类导师推荐信范文
2013/11/19 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
2014年教师节演讲稿
2014/09/03 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
办公室日常管理制度
2015/08/04 职场文书
Python用any()函数检查字符串中的字母以及如何使用all()函数
2022/04/14 Python