博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序索引列表排序
阅读量:4983 次
发布时间:2019-06-12

本文共 2051 字,大约阅读时间需要 6 分钟。

在小程序中,会有一些需求,常常会有一些按字母A-Z排序,写过一篇关于vue的字母排序,,今天写一篇关于小程序字母排序的案例,效果展示如下

  

写之前要和后端定义好数据结构字段,这是我定义的这种数据接口,然后和后端沟通,给我返回这样的结构。

[  {    "letter":"A",    "data":[      {
"id": 56,"Name": "奥特曼玩具" }, ] },{ "letter":"B", "data":[ {
"id": 83,"Name": "巴黎水玻璃瓶"}, { "id": 346,"Name": "保温杯"}, ] },{ "letter":"C", "data":[ {
"id": 91, "Name": "茶叶罐"}, {
"id": 92, "Name": "炒菜铁锅"}, ] },{ "letter":"D", "data":[ {
"id": 9,"Name": "打印纸" }, {
"id": 10, "Name": "地板砖"}, ] }]
1.页面的初始数据
在data定义一个letter字母数组,用于存放数组的,字母是data直接定义好的,然后在页面直接循环遍历就行
letter: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"],

2.页面布局

{
{item}}
{ {letterItem.letter}}
{ {item.name}}

2.1右边字母这个直接从data定义的字段,然后通过wx:for循环遍历拿到,展示到页面效果就行。

2.2左边内容展示区域,主要利用小程序提供的scroll-view和scroll-info-view

scroll-view:视图滚动

scroll-info-view:绑定了一个值,通过handleLetters点击事件实现锚点,相当于a标签中的#,点击跳转对应的位置,首先需要在data定义一个字段cityListId

{
{letterItem.letter}}

通过handleLetters点击跳转到对应的id位置,这个是循环遍历的时候获取到的字母,通过scroll-into-view='{

{cityListId}}',与 id='{
{letterItem.letter}}' 匹配是那个锚点,跳转。scroll-with-animation一个动画延迟的效果

handleLetters(e) {    const Item = e.currentTarget.dataset.item;    this.setData({      cityListId: Item    });  },

2.3循环遍历,第一次循环遍历,在这是拿到每个字母展示。注意wx:for遍历的时候,需要绑定一个key值

{
{letterItem.letter}}

再次遍历是拿到data里面每个字母对应的值。

{
{item.name}}

2.4高度是通过小程序提供的一个api来计算出小城市高度赋值,也是需要在data定义好一个height字段

wx.getSystemInfo({      success: function(res) {        // 计算主体部分高度,单位为px        that.setData({          height: res.windowHeight        })      }    })

写到最后,提供一个关于城市列表的数据接口,是自己已经整理好的,拿来直接可以用的,和我定义小程序的字段一模一样的

转载于:https://www.cnblogs.com/zhoulifeng/p/11238553.html

你可能感兴趣的文章
特意给我的轩写的小知识
查看>>
LibreOJ #2003. 「SDOI2017」新生舞会
查看>>
sublime text there are no packages available for installation 解决办法
查看>>
Piston Pump Manufacturers - Mobile Cartridge Piston Pump: Advantages
查看>>
我喜欢的几款不错的vim插件
查看>>
eclipse在ubuntu13.04下崩溃crash
查看>>
wpf 右键ListBox可编辑
查看>>
hihocoder offer收割编程练习赛11 C 岛屿3
查看>>
maven+springmvc项目启动时,request mapping not found……
查看>>
提高JetBrains软件的性能
查看>>
ASP.NET:MVC中文件上传与地址变化处理
查看>>
Python 单向链表、双向链表
查看>>
Arrays, Hashtables and Dictionaries
查看>>
JAVA1种C++3种继承方式
查看>>
C#中DataTable排序
查看>>
架构学习提炼笔记(二):架构设计的流程是什么?
查看>>
hive常见问题解决干货大全
查看>>
seq命令
查看>>
centos7常见的操作01 UTC CST
查看>>
Java必会的基础知识(2)
查看>>