IndexList 索引列表

通过折叠面板收纳内容区域

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序

基本使用

外层包裹一个index-list组件,内部锚点通过index-anchor组件传入,其余内容可以自定义

  • 可以通过index-list参数自定义索引字符列表
  • 需要监听页面的onPageScroll事件,将当前滚动条高度传入index-list组件
  1. <template>
  2. <u-index-list :scrollTop="scrollTop">
  3. <view v-for="(item, index) in indexList" :key="index">
  4. <u-index-anchor :index="item" />
  5. <view class="list-cell">
  6. 列表1
  7. </view>
  8. <view class="list-cell">
  9. 列表2
  10. </view>
  11. <view class="list-cell">
  12. 列表3
  13. </view>
  14. </view>
  15. </u-index-list>
  16. </template>
  17. <script>
  18. export default {
  19. data() {
  20. return {
  21. scrollTop: 0,
  22. indexList: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
  23. "V", "W", "X", "Y", "Z"
  24. ]
  25. }
  26. },
  27. onPageScroll(e) {
  28. this.scrollTop = e.scrollTop;
  29. }
  30. }
  31. </script>
  32. <style lang="scss" scoped>
  33. .list-cell {
  34. display: flex;
  35. box-sizing: border-box;
  36. width: 100%;
  37. padding: 10px 24rpx;
  38. overflow: hidden;
  39. color: #323233;
  40. font-size: 14px;
  41. line-height: 24px;
  42. background-color: #fff;
  43. }
  44. </style>

自定义锚点样式

index-anchor锚点组件默认显示index参数的值,可以通过设置use-slottrue,传入自定义内容,同时设定 自己的样式

  1. <template>
  2. <u-index-list :scrollTop="scrollTop">
  3. <view v-for="(item, index) in indexList" :key="index">
  4. <u-index-anchor :use-slot="true">
  5. <text class="anchor-text">{{item}}</text>
  6. </u-index-anchor>
  7. <view class="list-cell">
  8. 列表1
  9. </view>
  10. <view class="list-cell">
  11. 列表2
  12. </view>
  13. <view class="list-cell">
  14. 列表3
  15. </view>
  16. </view>
  17. </u-index-list>
  18. </template>
  19. <style lang="scss" scoped>
  20. .list-cell {
  21. display: flex;
  22. box-sizing: border-box;
  23. width: 100%;
  24. padding: 10px 24rpx;
  25. overflow: hidden;
  26. color: #323233;
  27. font-size: 14px;
  28. line-height: 24px;
  29. background-color: #fff;
  30. }
  31. .anchor-text {
  32. color: red;
  33. }
  34. </style>

API

IndexBar Props

参数说明类型默认值可选值
scroll-top当前滚动高度,自定义组件无法获得滚动条事件,所以依赖接入方传入Number | String--
index-list索引字符列表,数组Array[string | number]A-Z-
z-index锚点吸顶时的层级Number | String965-
sticky是否开启锚点自动吸顶Booleantruefalse
offset-top锚点自动吸顶时与顶部的距离Number | String0-
highlight-color锚点和右边索引字符高亮颜色String#2979ff-

IndexAnchor Props

参数说明类型默认值可选值
use-slot是否使用自定义内容的插槽Booleanfalsetrue
index索引字符,如果定义了use-slot,此参数自动失效String | Number--
custStyle自定义样式,对象形式,如”{color: ‘red’}”Object--

IndexBar Events

事件名说明回调参数版本
select选中右边索引字符时触发index: 索引字符-

IndexAnchor Slots

名称说明
default锚点位置显示内容,默认为索引字符