Skip to content

IndexBar インデックスバー - Vant 4

📑 IndexBar インデックスバー

🎯 紹介

IndexBar コンポーネントは、親切な「ナビゲーションアシスタント」🧭 のようなものです!長いリストに高速な位置特定機能を提供し、ユーザーは辞書をめくるように簡単に目的のコンテンツを見つけることができます。連絡先リスト、都市リスト、製品カテゴリーなど、どんな場面でもユーザーにスムーズな閲覧体験を提供し、果てしないスクロールの苦労から解放します!

📦 導入

以下の方法でコンポーネントをグローバルに登録します。詳細な登録方法についてはコンポーネントの登録を参照してください。

js
import { createApp } from'vue'; import { IndexBar, IndexAnchor } from'vant'; const app = createApp(); app.use(IndexBar); app.use(IndexAnchor);

🚀 コードサンプル

🔧 基本的な使い方

インデックスバーをクリックすると、対応する IndexAnchor アンカーの位置に自動的にジャンプします。まるで瞬間移動のように便利です!✨

html

🎨 カスタムインデックスリスト

index-list 属性を使用して、表示するインデックス文字のリストをカスタマイズできます。インデックスバーをあなた専用のナビゲーションツールに変えましょう!数字、アルファベット、特殊記号など、どんな文字でも簡単に対応できます。

html
js
exportdefault { 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 | string1
stickyアンカーの自動スティッキー機能を有効にするかどうかbooleantrue
sticky-offset-topアンカーが自動的にスティッキーになるときの上部からの距離number0
highlight-colorインデックス文字の強調表示色string#1989fa
teleportインデックスバーのマウント先ノードを指定string | Element-

IndexAnchor Props

パラメータ説明デフォルト値
indexインデックス文字number | string-

IndexBar Events

イベント名説明コールバックパラメータ
selectインデックスバーの文字をクリックしたときに発火index: number | string
change現在の強調表示されているインデックス文字が変わったときに発火index: number | string

IndexBar メソッド

ref を使用して IndexBar インスタンスを取得し、インスタンスメソッドを呼び出すことができます。詳細はコンポーネントインスタンスメソッドを参照してください。

メソッド名説明パラメータ戻り値
scrollTo指定したアンカーまでスクロールindex: number | string-

型定義

コンポーネントは以下の型定義をエクスポートしています:

ts
importtype { IndexBarProps, IndexAnchorProps, IndexBarInstance } from'vant';

IndexBarInstance はコンポーネントインスタンスの型で、以下のように使用します:

ts
import { ref } from'vue'; importtype { IndexBarInstance } from'vant'; const indexBarRef = ref<IndexBarInstance>(); indexBarRef.value?.scrollTo('B');

IndexAnchor Slots

名前説明
defaultアンカー位置に表示されるコンテンツ。デフォルトはインデックス文字

テーマカスタマイズ

スタイル変数

コンポーネントは以下の CSS 変数を提供しており、カスタムスタイルに使用できます。使用方法については ConfigProvider コンポーネント を参照してください。

名前デフォルト値説明
--van-index-bar-sidebar-z-index2-
--van-index-bar-index-font-sizevar(--van-font-size-xs)-
--van-index-bar-index-line-heightvar(--van-line-height-xs)-
--van-index-bar-index-active-colorvar(--van-primary-color)-
--van-index-anchor-z-index1-
--van-index-anchor-padding0 var(--van-padding-md)-
--van-index-anchor-text-colorvar(--van-text-color)-
--van-index-anchor-font-weightvar(--van-font-bold)-
--van-index-anchor-font-sizevar(--van-font-size-md)-
--van-index-anchor-line-height32px-
--van-index-anchor-backgroundtransparent-
--van-index-anchor-sticky-text-colorvar(--van-primary-color)-
--van-index-anchor-sticky-backgroundvar(--van-background-2)-

📚 関連ドキュメント

📋 リストコンポーネント

  • List リスト - リストコンポーネント。インデックスバーと完璧に組み合わせるデータ表示ツール
  • Cell セル - セルコンポーネント。リストアイテムを構築する基本コンポーネント
  • ContactList 連絡先リスト - 連絡先リストコンポーネント。インデックスバーの代表的な使用シナリオ

🎯 ナビゲーションコンポーネント

🔍 検索と位置特定

🎨 デザインコンポーネント

🛠️ 開発ガイド

Vant に基づく企業向けモバイルソリューション