Vant SwipeCell 滑動單元格

2022-05-31 13:34 更新

引入

import Vue from 'vue';
import { SwipeCell } from 'vant';

Vue.use(SwipeCell);

代碼演示

基礎用法

SwipeCell組件提供了left和right兩個插槽,用于定義兩側(cè)滑動區(qū)域的內(nèi)容

<van-swipe-cell>
  <template slot="left">
    <van-button square type="primary" text="選擇" />
  </template>
  <van-cell :border="false" title="單元格" value="內(nèi)容" />
  <template slot="right">
    <van-button square type="danger" text="刪除" />
    <van-button square type="primary" text="收藏"/>
  </template>
</van-swipe-cell>

自定義內(nèi)容

SwipeCell內(nèi)容可以嵌套任意內(nèi)容,比如嵌套一個商品卡片

<van-swipe-cell>
  <van-card
    num="2"
    price="2.00"
    desc="描述信息"
    title="商品標題"
    class="goods-card"
    thumb="https://img.yzcdn.cn/vant/cat.jpeg"
  />
  <van-button
    slot="right"
    square
    text="刪除"
    type="danger"
    class="delete-button"
  />
</van-swipe-cell>

<style>
.goods-card {
  margin: 0;
  background-color: @white;
}

.delete-button {
  height: 100%;
}
</style>

異步關(guān)閉

通過傳入before-close回調(diào)函數(shù),可以自定義兩側(cè)滑動內(nèi)容關(guān)閉時的行為

<van-swipe-cell :before-close="beforeClose">
  <template slot="left">
    <van-button square type="primary" text="選擇" />
  </template>
  <van-cell :border="false" title="單元格" value="內(nèi)容" />
  <template slot="right">
    <van-button square type="danger" text="刪除" />
  </template>
</van-swipe-cell>
export default {
  methods: {
    // position 為關(guān)閉時點擊的位置
    // instance 為對應的 SwipeCell 實例
    beforeClose({ position, instance }) {
      switch (position) {
        case 'left':
        case 'cell':
        case 'outside':
          instance.close();
          break;
        case 'right':
          Dialog.confirm({
            message: '確定刪除嗎?'
          }).then(() => {
            instance.close();
          });
          break;
      }
    }
  }
}

API

Props

參數(shù)說明類型默認值
name v2.0.4標識符,可以在事件參數(shù)中獲取到number | string-
left-width指定左側(cè)滑動區(qū)域?qū)挾龋瑔挝粸?code>pxnumber | stringauto
right-width指定右側(cè)滑動區(qū)域?qū)挾?,單位?code>pxnumber | stringauto
before-close v2.3.0關(guān)閉前的回調(diào)函數(shù)Function-
disabled是否禁用滑動booleanfalse
stop-propagation v2.1.0是否阻止滑動事件冒泡booleanfalse

Slots

名稱說明
default自定義顯示內(nèi)容
left左側(cè)滑動內(nèi)容
right右側(cè)滑動內(nèi)容

Events

事件名說明回調(diào)參數(shù)
click點擊時觸發(fā)關(guān)閉時的點擊位置 (left right cell outside)
open打開時觸發(fā){ position: 'left' | 'right' , name: string }
close關(guān)閉時觸發(fā){ position: string , name: string }

beforeClose 參數(shù)

beforeClose 的第一個參數(shù)為對象,對象中包含以下屬性:

參數(shù)名說明類型
name標識符string
position關(guān)閉時的點擊位置 (left right cell outside)string
instanceSwipeCell 實例,用于調(diào)用實例方法SwipeCell

方法

通過 ref 可以獲取到 SwipeCell 實例并調(diào)用實例方法,詳見 組件實例方法

方法名說明參數(shù)返回值
open打開單元格側(cè)邊欄position: left | right-
close收起單元格側(cè)邊欄--

常見問題

在桌面端無法操作組件?

參見在桌面端使用。


實例演示

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號