Skip to content

Switch スイッチ - Vant 4

Switch スイッチ

紹介

ON/OFF 状態の切り替えに使用します。

取り込み

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

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

コード例

基本的な使い方

v-model で選択状態をバインドします。true は ON、false は OFF を表します。

html
js
import { ref } from'vue'; exportdefault { setup() { const checked = ref(true); return { checked }; }, };

無効状態

disabled でスイッチを無効化します。無効時はクリックできません。

html

読み込み状態

loading でローディング表示にします。ローディング時はクリックできません。

html

サイズのカスタマイズ

size でスイッチのサイズをカスタマイズします。

html

色のカスタマイズ

active-color は ON 時の背景色、inactive-color は OFF 時の背景色を表します。

html

ボタンのカスタマイズ

node スロットでボタン内容をカスタマイズします。

html

非同期制御

非同期制御が必要な場合は、v-model の代わりに modelValueupdate:model-value を使用し、イベントで状態を手動更新します。

html
js
import { ref } from'vue'; import { showConfirmDialog } from'vant'; exportdefault { setup() { const checked = ref(true); constonUpdateValue = (newValue) => { showConfirmDialog({ title: '提醒', message: '是否切换开关?', }).then(() => { checked.value = newValue; }); }; return { checked, onUpdateValue, }; }, };

セルとの併用

html

API

Props

パラメータ説明デフォルト
v-modelスイッチの選択状態anyfalse
loadingローディング状態かどうかbooleanfalse
disabled無効状態かどうかbooleanfalse
sizeボタンサイズ(デフォルト単位は px*numberstring*
active-colorON 時の背景色string#1989fa

| inactive-color | OFF 時の背景色 | string | rgba(120, 120, 128, 0.16) | | active-value | ON 時の値 | any | true | | inactive-value | OFF 時の値 | any | false |

Events

イベント名説明コールバック引数
changeスイッチの状態切り替え時に発火value: any
clickクリック時に発火event: MouseEvent

Slots

名前説明引数
nodeボタンの内容をカスタマイズ-
backgroundスイッチの背景をカスタマイズ-

型定義

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

ts
importtype { SwitchProps } from'vant';

テーマカスタマイズ

スタイル変数

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

名称デフォルト説明
--van-switch-size26px-
--van-switch-widthcalc(1.8em + 4px)-
--van-switch-heightcalc(1em + 4px)-
--van-switch-node-size1em-
--van-switch-node-backgroundvar(--van-white)-
--van-switch-node-shadow0 3px 1px 0 rgba(0, 0, 0, 0.05)-
--van-switch-backgroundrgba(120, 120, 128, 0.16)-
--van-switch-on-backgroundvar(--van-primary-color)-
--van-switch-durationvar(--van-duration-base)-
--van-switch-disabled-opacityvar(--van-disabled-opacity)-

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