Skip to content

Steps ステップバー - Vant 4

Steps ステップバー

紹介

操作フローの各段階を表示し、現在の位置を明確にします。

取り込み

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

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

🎯 コード例

📋 基本的な使い方

active で現在ステップを制御し、進捗を明確にします。インデックスは 0 開始です。

html
<template>
  <van-steps :active="active">
    <van-step>購入者の注文</van-step>
    <van-step>店舗の受注</van-step>
    <van-step>購入者の受け取り</van-step>
    <van-step>取引完了</van-step>
  </van-steps>
  
  <div class="demo-buttons">
    <van-button @click="nextStep" type="primary">次へ</van-button>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(1);
    
    const nextStep = () => {
      if (active.value < 3) {
        active.value++;
      }
    };
    
    return { 
      active,
      nextStep
    };
  },
};
</script>

<style>
.demo-buttons {
  margin-top: 20px;
  text-align: center;
}
</style>

🎨 スタイルのカスタマイズ

active-iconactive-color を使って独自のビジュアルに。ステップバーをブランドに合わせてカスタマイズできます。

html
<template>
  <van-steps 
    :active="active" 
    active-icon="success" 
    active-color="#38f"
  >
    <van-step>アカウント登録</van-step>
    <van-step>メール認証</van-step>
    <van-step>情報入力</van-step>
    <van-step>利用開始</van-step>
  </van-steps>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(2);
    return { active };
  },
};
</script>

📱 縦方向ステップバー

direction="vertical" を設定して縦方向レイアウトに適応します。

html
<template>
  <van-steps 
    :active="active" 
    direction="vertical"
    active-color="#ff6034"
  >
    <van-step>
      <h3>注文確認</h3>
      <p>注文情報をご確認ください</p>
    </van-step>
    <van-step>
      <h3>支払い</h3>
      <p>支払い方法を選択して決済</p>
    </van-step>
    <van-step>
      <h3>発送</h3>
      <p>店舗が発送準備中</p>
    </van-step>
    <van-step>
      <h3>受け取り確認</h3>
      <p>受け取り後に確認してください</p>
    </van-step>
  </van-steps>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(1);
    return { active };
  },
};
</script>

📋 API

🎛️ Steps Props

パラメータ説明デフォルト
active📍 現在ステップのインデックス*numberstring*
direction📐 方向(vertical を指定可能)stringhorizontal
active-icon✅ 現在ステップのアイコン(Icon を参照)stringchecked
inactive-icon⚪ 非アクティブステップのアイコン(Iconstring-
finish-icon🏁 完了ステップのアイコン(inactive-icon より優先、Iconstring-
active-color🎨 現在・完了ステップの色string#1989fa
inactive-color🔘 未アクティブの色string#969799
icon-prefix🏷️ アイコンクラス接頭辞(Icon の class-prefixstringvan-icon

🎪 Step Slots

名前説明
default📝 ステップの内容
active-icon✨ アクティブアイコンのカスタマイズ
inactive-icon🔘 非アクティブアイコンのカスタマイズ
finish-icon🎯 完了ステップのアイコン(inactive-icon より優先)

🎪 Steps Events

イベント名説明コールバック引数
click-step👆 ステップのタイトルまたはアイコンのクリック時に発火index: number

📘 型定義

コンポーネントは以下の型定義を提供します:

ts
import type { StepsProps, StepsDirection } from 'vant';

🎨 テーマカスタマイズ

🎭 スタイル変数

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

名称デフォルト説明
--van-step-text-colorvar(--van-text-color-2)📝 テキスト色
--van-step-active-colorvar(--van-primary-color)✨ アクティブ色
--van-step-process-text-colorvar(--van-text-color)🔄 進行中のテキスト色
--van-step-font-sizevar(--van-font-size-md)🔤 文字サイズ
--van-step-line-colorvar(--van-border-color)📏 接続線の色
--van-step-finish-line-colorvar(--van-primary-color)🏁 完了線の色
--van-step-finish-text-colorvar(--van-text-color)✅ 完了テキスト色
--van-step-icon-size12px🔘 アイコンサイズ
--van-step-circle-size5px⭕ ドットサイズ
--van-step-circle-colorvar(--van-gray-6)🔘 ドット色
--van-step-horizontal-title-font-sizevar(--van-font-size-sm)📐 水平タイトル文字サイズ
--van-steps-backgroundvar(--van-background-2)🎨 背景色

🔗 関連ドキュメント

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

📊 表示コンポーネント

💬 フィードバックコンポーネント

🛠️ ツールコンポーネント

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