小程序实现根据A-Z排序的不同城市索引栏

小程序里面实现如下索引栏功能

4b819d51f45f48eaaefbe060855e8362.png

根据A到Z城市排序,点击右侧可直接跳转到对应首字母的城市

引用了vant weapp中IndexBar索引栏

第一步:在app.jsonindex.json中引入组件

"usingComponents": {
  "van-index-bar": "@vant/weapp/index-bar/index",
  "van-index-anchor": "@vant/weapp/index-anchor/index"
}

以下为我得代码中引入

2802e8dfc2a1479f91bc3b2b801a5313.png

 

第二步:在页面中使用索引栏

<van-index-bar :index-list="indexList" :sticky="false">
   <view v-for="(item, index) in customerList" :key="index">
      <van-index-anchor :index="item.firstLetter">标题1</van-index-anchor>
      <van-cell
         v-for="(i, v) in item.list"
         :key="index"
         :title="i.name"
         @click="areaEvent(i)"
      />
   </view>
</van-index-bar>

解释一下以上代码

customerList是从后端请求的数据,数据格式为

[
    {
    "firstLetter":"A",
    "list":[
        {"code":"230205","name":"昂昂溪里","level":2},
        {"code":"513231","name":"阿巴嘎旗","level":2},
                ......
        ]
    },
    {
    "firstLetter":"b",
    "list":[
        {"code":"440306","name":"宝安区","level":2},
        {"code":"231181","name":"北安市","level":2},
                ......
        ]
    },
                ......
                ......
]

van-index-anchor 表示大的标题:例如A,B,C

van-cell 表示大标题下面的内容  将每个对象里的list进行循环
index-list带代表右侧索引数组。

        ["A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z",]

 

以上是我实现索引栏的方法,详情可以参考官网,了解相关api

过程中我还遇到了一个问题,全国的省份有三千多条,页码加载了5秒左右才能显示,体验效果较差,我做了一个过渡效果。

20ec8ec29c884224a801713188c6bc83.png

有没有哪位大佬能告诉我该怎么优化数据加载过慢的问题!!!万分感谢

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值