1、使用插件

lodash
js-pinyin

2、下载

npm install js-pinyin

点击查看插件文档

3、方法封装

在js文件中引入两个插件,并初始化js-pinyin插件

import Pinyin from 'js-pinyin'
Pinyin.setOptions({ charCase: 1 })

setOptions中传入对象,对象可传两个参数
charCase参数: 输出拼音的大小写模式,0-首字母大写;1-全小写;2-全大写

checkPolyphone:是否检查多音字

封装一个调用后可以按照开头字母排序的方法

sortList = (data, name = 'name') => {if (!_.isArray(data) || !data.length) return []return _.sortBy(data, c => {if (c.children && c.children.length > 0) {c.children = sortList(c.children, name)}return makePy.getFullChars(c[name])})
}

完整js文件为:

import _ from 'lodash'
import Pinyin from 'js-pinyin'Pinyin.setOptions({ charCase: 1 })
export const makePy = Pinyin
/*** 按照字母顺序排序*/
export const sortList = (data, name = 'name') => {if (!_.isArray(data) || !data.length) return []return _.sortBy(data, c => {if (c.children && c.children.length > 0) {c.children = sortList(c.children, name)}return makePy.getFullChars(c[name])})
}

js-pinyin插件的方法

getCamelChars: 获取拼音首字母
getFullChars: 获取拼音
_capitalize: 首字母大写

vue项目中汉字转拼音相关推荐

  1. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

  2. 如何在Vue项目中使用vw实现移动端适配(转)

    有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...

  3. 实战:vue项目中导入swiper插件

    版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4. 常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: ...

  4. vue ajax highcharts,在vue项目中引入highcharts图表的方法(详解)

    npm进行highchars的导入,导入完成后就可以进行highchars的可视化组件开发了 npm install highcharts --save 1.components目录下新建一个char ...

  5. VUE项目中使用this.$forceUpdate();解决页面v-for中修改item属性值后页面v-if不改变的问题

    VUE项目中使用this.$forceUpdate();解决页面v-for中修改item属性值后页面v-if不改变的问题 参考文章: (1)VUE项目中使用this.$forceUpdate();解决 ...

  6. 在vue项目中:统一封装 Axios 接口与异常处理

    在vue项目中:统一封装 Axios 接口与异常处理 参考文章: (1)在vue项目中:统一封装 Axios 接口与异常处理 (2)https://www.cnblogs.com/itgezhu/p/ ...

  7. vue php跨域,Vue 项目中遇到的跨域问题及解决方法(后台php)

    问题描述 前端 vue 框架,后台 php,百度跨域问题后台加这段代码 header("Access-Control-Allow-Origin: *"); 加了之后报这个错: Th ...

  8. Typescript在Vue项目中的使用

    最近尝试了一下Typescript在Vue项目中的使用,中间遇到了一些问题,把遇到的问题记录一下,以防被忘. 如何让Typescript识别Vue.JSON文件 因为Typescript默认不能识别. ...

  9. vue项目中使用echarts实现词云

    0.先上效果图 1.安装插件 -- vue项目中 npm install echartsnpm install echarts-wordcloud 2.vue页面中引入组件 <word-clou ...

最新文章

  1. java校验字符串是否为json格式
  2. EasyMock 使用方法与原理剖析--转载
  3. python作者龟叔_Python基础 — Python简介
  4. C++ Primer Plus 笔记第十章
  5. 算法中的Strassen矩阵乘法
  6. ‘UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xff in position 0: invalid start byte‘成功解决
  7. 在Ubuntu 16.04 使用命令行安装Nvidia CUDA-9.0以及cudnn7
  8. 一段关于中国人口老龄化的评论
  9. matlab 组装刚度矩阵,求整体刚度矩阵matlab程序
  10. 2016技术众包风云:挑战与机遇并行!
  11. Eclipse:Build not configured correctly问题
  12. 当代计算机科学的先驱John Todd逝世
  13. 几个好用的扩展程序,谷歌和火狐的
  14. 【阿里云数据总线】Datahub使用Python SDK记录
  15. opencv图像仿射变换,cv2.warpAffine
  16. python的学习记录
  17. java正序输出整数_java实现:将一个数逆序输出
  18. 相机跟频闪灯(LAMP-S25)、爆闪灯(LAMP-F25)、频爆一体灯(LAMP-SF25)信号线如何连接?
  19. neditor本地上传音频一
  20. 【微电网优化】基于matlab粒子群优化算法的微电网调度(光伏、储能、电动车、电网交互)【含Matlab源码 2190期】

热门文章

  1. Excel 锁定特定单元格 不允许更改
  2. 揭秘 typedef四用途与两陷阱
  3. 总结2016年国内外的AR/VR产品
  4. html,css和js
  5. mfc中StretchBlt缩放图像失真问题【zozo】
  6. Java心理健康测试系统
  7. 【一篇文章告诉你网格策略从理论到实盘的所有内容(python实现)】
  8. 快速了解机器视觉(CV)基础知识
  9. Arduino前馈反向传播神经网络
  10. 【IKAnalyzer中文分词器详解-(1)分词逻辑】