uni-app 索引列表排序方法

47 篇文章 0 订阅
42 篇文章 0 订阅

先引入Pinyin依赖 具体的npm指令大家自行baidu吧。

import Pinyin from 'jian-pinyin/index'
Vue.prototype.$Pinyin = Pinyin;

使用方法

<u-index-list :scrollTop="scrollTop" @select="selectFn" :offset-top="offsetTop" :index-list="indexList">
	<view v-for="(item, index) in indexList" :key="index" :id="'item'+index">
		<u-index-anchor :index="item" />
		<view class="list-cell" v-for="(item1,index1) in supplierList[item]" :key="index1" @click="backPage(item1)">
			{{item1}}
		</view>
	</view>
</u-index-list>
let origin = []; //初始化一个新的数组来存数据
http.QuserSuppliers(data).then(res => { //调取获取数据的接口
	if (res.data.code == 1) {
		let list = res.data.data;
		_this.supplier = list;
		//默认给第一个值
		list.map((item) => {
			origin.push(item.SupplierName);
		})
		//sort进行汉字排序
		origin = origin.sort((pre,next) => pre.localeCompare(next))
		const newObj ={};
		//const listIndex = [];
		origin.map(item => {
			// 获取汉字的首字母
			let key = _this.$Pinyin.getSpell(item, (char, spell) => {
				return spell[1]
				})[0].toUpperCase()
				// 如果对象中已有key,则push
				if (newObj.hasOwnProperty(key)) {
					newObj[key].push(item)
				} else { // r如果对象中没有这个key,则为这个key构造value,这里value是一个数组
					_this.$set(newObj, key, [item])
					_this.indexList.push(key);
				}
		})
		_this.supplierList = newObj;
		console.log('newObj----------->', newObj)
	}
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值