vant/src/index-bar/README.zh-CN.md
2021-01-02 16:31:24 +08:00

3.9 KiB

IndexBar 索引栏

引入

import Vue from 'vue';
import { IndexBar, IndexAnchor } from 'vant';

Vue.use(IndexBar);
Vue.use(IndexAnchor);

代码演示

基础用法

点击索引栏时,会自动跳转到对应的 IndexAnchor 锚点位置。

<van-index-bar>
  <van-index-anchor index="A" />
  <van-cell title="文本" />
  <van-cell title="文本" />
  <van-cell title="文本" />

  <van-index-anchor index="B" />
  <van-cell title="文本" />
  <van-cell title="文本" />
  <van-cell title="文本" />

  ...
</van-index-bar>

自定义索引列表

可以通过 index-list 属性自定义展示的索引字符列表。

<van-index-bar :index-list="indexList">
  <van-index-anchor index="1">标题1</van-index-anchor>
  <van-cell title="文本" />
  <van-cell title="文本" />
  <van-cell title="文本" />

  <van-index-anchor index="2">标题2</van-index-anchor>
  <van-cell title="文本" />
  <van-cell title="文本" />
  <van-cell title="文本" />

  ...
</van-index-bar>
export default {
  data() {
    return {
      indexList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
    };
  },
};

API

IndexBar Props

参数 说明 类型 默认值
index-list 索引字符列表 string[] | number[] A-Z
z-index z-index 层级 number | string 1
sticky 是否开启锚点自动吸顶 boolean true
sticky-offset-top 锚点自动吸顶时与顶部的距离 number 0
highlight-color 索引字符高亮颜色 string #ee0a24

IndexAnchor Props

参数 说明 类型 默认值
index 索引字符 number | string -

IndexBar Events

事件名 说明 回调参数
select 点击索引栏的字符时触发 index: number | string
change v2.10.10 当前高亮的索引字符变化时触发 index: number | string

IndexAnchor Slots

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

IndexBar 方法

通过 ref 可以获取到 IndexBar 实例并调用实例方法,详见组件实例方法

方法名 说明 参数 返回值
scrollTo v2.12.2 滚动到指定锚点 index: number | string -

样式变量

组件提供了下列 Less 变量,可用于自定义样式,使用方法请参考主题定制

名称 默认值 描述
@index-bar-sidebar-z-index 2 -
@index-bar-index-font-size @font-size-xs -
@index-bar-index-line-height @line-height-xs -
@index-bar-index-active-color @red -
@index-anchor-z-index 1 -
@index-anchor-padding 0 @padding-md -
@index-anchor-text-color @text-color -
@index-anchor-font-weight @font-weight-bold -
@index-anchor-font-size @font-size-md -
@index-anchor-line-height 32px -
@index-anchor-background-color transparent -
@index-anchor-sticky-text-color @red -
@index-anchor-sticky-background-color @white -