Vant3 中文入门教程 Vant3 IndexBar 索引栏

2024-02-25 开发教程 Vant3 中文入门教程 匿名 7

介绍

用于列表的索引分类显示和快速定位。

实例演示

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册。

import { createApp } from 'vue';
import { IndexBar, IndexAnchor } from 'vant';
const app = createApp();
app.use(IndexBar);
app.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 {
setup() {
return {
indexList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
};
},
};

API

IndexBar Props

参数说明类型默认值
index-list索引字符列表

string[] | number[]

A-Z

z-indexz-index 层级

number | string

1

sticky是否开启锚点自动吸顶

boolean

true

sticky-offset-top锚点自动吸顶时与顶部的距离

number

0

highlight-color索引字符高亮颜色

string

#ee0a24

teleport v3.0.19

指定索引栏挂载的节点

string | Element

-

IndexAnchor Props

参数说明类型默认值
index索引字符

number | string

-

IndexBar Events

事件名说明回调参数
select点击索引栏的字符时触发

index: number | string

change当前高亮的索引字符变化时触发

index: number | string

IndexBar 方法

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

方法名说明参数返回值
scrollTo滚动到指定锚点

index: number | string

-

IndexAnchor Slots

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

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考ConfigProvider 组件。

名称默认值描述
--van-index-bar-sidebar-z-index

2

-
--van-index-bar-index-font-size

var(--van-font-size-xs)

-
--van-index-bar-index-line-height

var(--van-line-height-xs)

-
--van-index-bar-index-active-color

var(--van-danger-color)

-
--van-index-anchor-z-index

1

-
--van-index-anchor-padding

0 var(--van-padding-md)

-
--van-index-anchor-text-color

var(--van-text-color)

-
--van-index-anchor-font-weight

var(--van-font-weight-bold)

-
--van-index-anchor-font-size

var(--van-font-size-md)

-
--van-index-anchor-line-height

32px

-
--van-index-anchor-background-color

transparent

-
--van-index-anchor-sticky-text-color

var(--van-danger-color)

-
--van-index-anchor-sticky-background-color

var(--van-white)

-