小程序自定义组件仿微信联系人可导航字母序排列数据列表
alphabet-order-list
可导航字母序排列数据列表
基础库 1.6.0 开始支持,低版本需做兼容处理
属性 | 类型 | 默认值 | 说明 | 最低版本 |
---|---|---|---|---|
source |
Array |
[] | 必要属性,数据源 | |
groupKey |
String |
|
必要属性,用于数据排序的值所对应的键名 | |
imageKey |
String |
|
默认只显示文本数据,使用该属性指定图片对应的数据键名后,会显示图片 | |
imageStyle |
String |
图片样式 | ||
textKey |
String |
|
必要属性,指定要显示的文本数据所对应的键名 | |
textStyle |
String |
|
文本样式 | |
tagStyle |
String |
|
数据项样式 |
|
showPoundSign |
Boolean |
|
字母导航列表是否显示‘#’号 | |
binditemtap |
EventHandle | 数据项点击事件 |
示例:
json
{
"usingComponents": {
"alphabet-order-list": "../../components/alphabet-order-list/alphabet-order-list"
}
}
wxml
<alphabet-order-list id='alphabet_order_list' source='{{provinces}}' group-key='pinyin' text-key='name' catchitemtap='itemClickEvent'/>
js
Page({
data: {
provinces: [
{ 'pinyin': 'BeiJing', 'name': '北京' },
{ 'pinyin': 'TianJin', 'name': '天津' },
{ 'pinyin': 'ShangHai', 'name': '上海' },
{ 'pinyin': 'ChongQing', 'name': '重庆' },
{ 'pinyin': 'XiangGang', 'name': '香港' },
{ 'pinyin': 'AoMen', 'name': '澳门' },
{ 'pinyin': 'AnHui', 'name': '安徽' },
{ 'pinyin': 'FuJian', 'name': '福建' },
{ 'pinyin': 'GanSu', 'name': '甘肃' },
{ 'pinyin': 'GuangXi', 'name': '广西' },
{ 'pinyin': 'GuangDong', 'name': '广东' },
{ 'pinyin': 'GuiZhou', 'name': '贵州' },
{ 'pinyin': 'HaiNan', 'name': '海南' },
{ 'pinyin': 'HeBei', 'name': '河北' },
{ 'pinyin': 'HeNan', 'name': '河南' },
{ 'pinyin': 'HeiLongJiang', 'name': '黑龙江' },
{ 'pinyin': 'HuBei', 'name': '湖北' },
{ 'pinyin': 'HuNan', 'name': '湖南' },
{ 'pinyin': 'JiLin', 'name': '吉林' },
{ 'pinyin': 'JiangSu', 'name': '江苏' },
{ 'pinyin': 'JiangXi', 'name': '江西' },
{ 'pinyin': 'LiaoNing', 'name': '辽宁' },
{ 'pinyin': 'NeiMengGu', 'name': '内蒙古' },
{ 'pinyin': 'NingXia', 'name': '宁夏' },
{ 'pinyin': 'QingHai', 'name': '青海' },
{ 'pinyin': 'ShanDong', 'name': '山东' },
{ 'pinyin': 'ShanXi', 'name': '山西' },
{ 'pinyin': 'ShanXi', 'name': '陕西' },
{ 'pinyin': 'SiChuan', 'name': '四川' },
{ 'pinyin': 'XiZang', 'name': '西藏' },
{ 'pinyin': 'XinJiang', 'name': '新疆' },
{ 'pinyin': 'YunNan', 'name': '云南' },
{ 'pinyin': 'ZheJiang', 'name': '浙江' },
{ 'pinyin': 'TaiWan', 'name': '台湾' },
],
},
onLoad: function (options) {
this.alphabet_order_list = this.selectComponent('#alphabet_order_list')
console.log(this.alphabet_order_list)
},
itemClickEvent: function (e) {
wx.showToast({
title: JSON.stringify(e.detail.item),
icon: 'none',
duration: 2000,
})
},
})
效果:
组件传送门:https://download.****.net/download/honiler/10700261
注:粗略地写出来,有空再补充,有什么问题的话可评论留言。