日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

uni-app小程序,实现根据中文首字母排序功能

發(fā)布時間:2024/3/13 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uni-app小程序,实现根据中文首字母排序功能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

描述:

從后端調(diào)用接口獲取所有熱的姓名,將這些名字的首字母排序,然后放到對應(yīng)字母下面,最終效果圖如下:

實(shí)現(xiàn)過程

**總體實(shí)現(xiàn)的思路是:**首先調(diào)用接口,獲取所有員工的姓名以及其他信息,將獲取回來的中文名字轉(zhuǎn)換為拼音,這里做的是轉(zhuǎn)為姓名首字母大寫的簡寫格式(比如:“張三” 轉(zhuǎn)為“ZS”)這里只需要名字的第一個字的首字母,使用js的截取功能就能實(shí)現(xiàn),中文轉(zhuǎn)拼音這里我使用的是js-pinyin,將轉(zhuǎn)換好的內(nèi)容渲染到頁面上。
1、下載js-pinyin包
npm install js-pinyin
2、在main.js中引入js-pinyin
import pinyin from 'js-pinyin'
3、在methdos函數(shù)中調(diào)用接口獲取名字的數(shù)據(jù),這里的res就是獲取回來的員工信息。獲取回來的數(shù)據(jù)結(jié)構(gòu)如下圖

getData(){let nameArr = [];var that = thisuni.request({url: '獲取員工信息的接口', data: {id:that.id,repairType:that.repairType},method:'POST',header: {'content-type': 'application/x-www-form-urlencoded','Cookie': 'JSESSIONID=' + uni.getStorageSync('token')},dataType:'json',success: (res) => {console.log("選擇員工的數(shù)據(jù)")console.log(res)}})},


4、實(shí)現(xiàn)中文轉(zhuǎn)換為拼音的功能
(1)、當(dāng)在組件中使用時,要先在export default前引用node_modules/js-pinyin中的index.js文件:
import pinyin from '…/…/…/node_modules/js-pinyin/index
注意node_modules/js-pinyin的文件路徑

(2)、一個是引入js-pinyin,一個是配置js-pinyin。

let pinyin = require('js-pinyin') pinyin.setOptions({checkPolyphone: false, charCase: 0})

(3)、在data中定義變量

data(){return{firstPin :["A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "W", "X", "Y", "Z"],namejson:{},//轉(zhuǎn)換為拼音后的數(shù)據(jù)} }

(4)、獲取姓名,將其轉(zhuǎn)為拼音

//循環(huán)數(shù)組,拿到所有的姓名 for(var i = 0 ; i < res.data.content.length ; i ++){ // 取所有姓名的首字母let peopleName = res.data.content[i].name// 取所有姓名的首字母let firstname = pinyin.getCamelChars(peopleName).substring(0, 1)//給原json添加首字母鍵值對res.data.content[i].first = firstname//放入新數(shù)組nameArr.push(res.data.content[i])// that.result.push(res.data.content[i].id) }

(5)、整理完后的數(shù)據(jù)格式如下圖:


轉(zhuǎn)換為拼音的所有代碼如下:

getData(){let nameArr = [];var that = thisuni.request({url: '獲取員工信息的接口', data: {id:that.id,repairType:that.repairType},method:'POST',header: {'content-type': 'application/x-www-form-urlencoded','Cookie': 'JSESSIONID=' + uni.getStorageSync('token')},dataType:'json',success: (res) => {console.log("選擇員工的數(shù)據(jù)")console.log(res)let dataArr = res.data.contentlet pinyin = require('js-pinyin')pinyin.setOptions({checkPolyphone: false, charCase: 0})//循環(huán)數(shù)組,拿到所有的姓名for(var i = 0 ; i < res.data.content.length ; i ++){// 取所有姓名的首字母let peopleName = res.data.content[i].name// 取所有姓名的首字母let firstname = pinyin.getCamelChars(peopleName).substring(0, 1)//給原json添加首字母鍵值對res.data.content[i].first = firstname//放入新數(shù)組nameArr.push(res.data.content[i])// that.result.push(res.data.content[i].id)}console.log(that.result)let namejson = {};//根據(jù)首字母鍵值對給原數(shù)據(jù)按首字母分類for (let i = 0; i < that.firstPin.length; i++) { //這里的FirstPin是一個寫入了所有字母的數(shù)組,見data中namejson[that.firstPin[i]] = nameArr.filter(function (value) {return value.first === that.firstPin[i]})}that.namejson = namejsonconsole.log(that.namejson)console.log(that.namejson.Z )}})},

前端頁面渲染

1、前端布局
這里的布局使用的是van -weapp組件庫的van-index-bar、van-index-ancho組件。

<view class="peopleName"><van-index-bar sticky-offset-top="70" highlight-color="#07c160" ><view v-for="(item,index) in namejson">//如果item為空,則不顯示index-anchor<van-index-anchor :index="index" v-show="item == ' ' ? false : true" />//再次循環(huán)某個字母下面的數(shù)據(jù)v-for="(ite,i) in item"<view class="People_item" v-for="(ite,i) in item" style="background: #FFFFFF;padding-left: 15px;"><!-- left --><view class="People_item_left" style="display: flex;"><van-checkbox-group :value="result" @change="onChangePeople"><van-checkbox :name="ite.id" ><van-imageroundwidth="3rem"height="3rem":src="ite.icon == '' ? defaultIcon : ite.icon "/></van-checkbox></van-checkbox-group><view class="People_item_userInfor"><view class="" style="margin-bottom: 10px;">{{ite.name}}</view><view class="">{{ite.phone}}</view></view></view><view class="People_item_right"><view class="" style="margin-bottom: 10px;">{{ite.hrmDepName}}</view><view class="">已接單:{{ite.unDeposeOrderCount}}</view><!-- <image src="../../static/icon/photo.png" mode=""></image> --></view></view></view></van-index-bar></view>


參考文章:
https://www.cnblogs.com/lzb1234/p/11353152.html

總結(jié)

以上是生活随笔為你收集整理的uni-app小程序,实现根据中文首字母排序功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品三区视频 | 午夜精品极品粉嫩国产尤物 | 人人射人人插 | 91中文字幕在线 | 久av在线| 黄色片视频免费观看 | 亚洲清纯唯美 | 性一交一黄一片 | 91av综合 | 夜夜艹| 国产精品香蕉在线观看 | 久久久精品视频一区 | 国产精品999在线观看 | 久久视频在线免费观看 | 午夜视频网站在线观看 | jizz免费在线观看 | 波多野吉衣在线观看视频 | 国产黄色在线看 | 奇米在线观看 | 91娇羞白丝网站 | 露胸app| 国产亚洲欧美日韩高清 | 免费看成人片 | 国产又黄又猛视频 | 免费成人在线观看 | 日韩av线 | 日本a级片视频 | 亚洲怡春院 | 亚洲综合图色 | 成人有色视频 | 久久久久久无码精品人妻一区二区 | 亚洲深夜福利 | 日本不卡视频在线 | 精品少妇人妻av一区二区三区 | 国产日视频| 久久刺激 | 国产亚洲欧美在线视频 | 日本三级韩国三级三级a级中文 | 亚洲va欧美va | 熊猫av| 少妇免费毛片久久久久久久久 | 欧美美女在线观看 | 狠狠操导航 | 成人在线视频在线观看 | av999 | 亚洲一级在线 | 国产精品mv | 老外黄色一级片 | 在线观看 亚洲 | 亚洲激情文学 | 少妇又紧又爽视频 | 少妇精品视频 | 精品人妻一区二区免费 | 亚洲精品视频一区二区 | 91色在线观看 | 全球av在线 | 国产精品欧美综合 | 久草天堂 | 成人久久毛片 | 福利小视频在线观看 | 一区免费 | 午夜视频导航 | 亚洲AV无码成人精品区东京热 | 综合色亚洲 | 草久在线观看 | 国产jzjzjz丝袜老师水多 | 一二三不卡 | 中文字幕精品久久久久人妻红杏ⅰ | 91丨九色丨海角社区 | 久久久久久在线观看 | 国产综合色视频 | 久爱视频在线 | 亚洲色图 一区二区 | 国产第一亚洲 | 国产欧美一区二区三区沐欲 | 日韩视频在线观看免费视频 | 9999精品视频| 噜噜视频 | 欧美另类videossexo高潮 | 爱吃波客今天最新视频 | 欧美xxxx少妇 | 亚洲a网站 | 午夜视频久久久 | 日日干日日摸 | 奇米影视在线播放 | 久久少妇网 | 蜜臀av一区二区三区 | 精品久久免费视频 | 亚洲国产成人精品久久久 | www.操| 国产奶水涨喷在线播放 | 色妞综合网 | 在线视频啪 | 欧美大片一区二区 | 久久精品中文字幕 | 亚洲综合热 | 国产成人久久精品 | 国产成人在线网站 | 国产一区亚洲 |