Skip to content

SwipeCell スワイプセル - Vant 4

SwipeCell スワイプセル

紹介

左右にスワイプして操作ボタンを表示するセルコンポーネントです。

取り込み

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

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

コード例

基本的な使い方

SwipeCellleftright の 2 つのスロットを提供し、左右のスライド領域の内容を定義できます。

html

内容のカスタマイズ

SwipeCell には任意の内容をネストできます。例えば商品カードなど。

html

非同期クローズ

before-close コールバックで、左右の内容を閉じる際の挙動をカスタマイズできます。

html
js
import { showConfirmDialog } from 'vant';
export default {
  setup() {
    const beforeClose = ({ position }) => {
      switch (position) {
        case 'left':
        case 'cell':
        case 'outside':
          return true;
        case 'right':
          return new Promise((resolve) => {
            showConfirmDialog({ title: '削除しますか?' })
              .then(() => resolve(true))
              .catch(() => resolve(false));
          });
      }
    };
    return { beforeClose };
  },
};

API

Props

パラメータ説明デフォルト
name識別子(イベント引数で取得可能)*numberstring*
left-width左側スライド領域の幅(px*numberstring*
right-width右側スライド領域の幅(px*numberstring*
before-closeクローズ前のコールバック。false で阻止、Promise を返却可能*(args) => booleanPromise<boolean>*
disabledスライドを無効化booleanfalse
stop-propagationスライドイベントのバブリング抑止booleanfalse

Slots

名前説明
default既定の表示内容
left左側スライド領域の内容
right右側スライド領域の内容

Events

イベント名説明コールバック引数
clickクリック時に発火*position: 'left'
openオープン時に発火*{ name: string
closeクローズ時に発火*{ name: string

beforeClose の引数

beforeClose の第 1 引数は以下のプロパティを含むオブジェクトです:

パラメータ名説明
event v4.9.4クローズを引き起こしたイベントオブジェクト*MouseEvent
name識別子*string
positionクローズ時のクリック位置*'left'

メソッド

ref で SwipeCell インスタンスを取得してメソッドを呼び出せます。詳細はコンポーネントインスタンスメソッドを参照してください。

メソッド名説明引数戻り値
openサイドコンテンツを開くposition: `leftright`
closeサイドコンテンツを閉じる--

型定義

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

ts
importtype { SwipeCellSide, SwipeCellProps, SwipeCellPosition, SwipeCellInstance, } from'vant';

SwipeCellInstance はコンポーネントインスタンスの型です:

ts
import { ref } from'vue'; importtype { SwipeCellInstance } from'vant'; const swipeCellRef = ref<SwipeCellInstance>(); swipeCellRef.value?.close();

よくある質問

デスクトップで操作できない?

デスクトップ適応 を参照してください。

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