Vant4 Coupon 優(yōu)惠卷

2023-02-16 17:57 更新

介紹

用于優(yōu)惠券的兌換和選擇。

引入

通過以下方式來全局注冊(cè)組件,更多注冊(cè)方式請(qǐng)參考組件注冊(cè)

import { createApp } from 'vue';
import { CouponCell, CouponList } from 'vant';

const app = createApp();
app.use(CouponCell);
app.use(CouponList);

代碼演示

基礎(chǔ)用法

<!-- 優(yōu)惠券單元格 -->
<van-coupon-cell
  :coupons="coupons"
  :chosen-coupon="chosenCoupon"
  @click="showList = true"
/>
<!-- 優(yōu)惠券列表 -->
<van-popup
  v-model:show="showList"
  round
  position="bottom"
  style="height: 90%; padding-top: 4px;"
>
  <van-coupon-list
    :coupons="coupons"
    :chosen-coupon="chosenCoupon"
    :disabled-coupons="disabledCoupons"
    @change="onChange"
    @exchange="onExchange"
  />
</van-popup>
import { ref } from 'vue';

export default {
  setup() {
    const coupon = {
      available: 1,
      condition: '無門檻\n最多優(yōu)惠12元',
      reason: '',
      value: 150,
      name: '優(yōu)惠券名稱',
      startAt: 1489104000,
      endAt: 1514592000,
      valueDesc: '1.5',
      unitDesc: '元',
    };

    const coupons = ref([coupon]);
    const showList = ref(false);
    const chosenCoupon = ref(-1);

    const onChange = (index) => {
      showList.value = false;
      chosenCoupon.value = index;
    };
    const onExchange = (code) => {
      coupons.value.push(coupon);
    };

    return {
      coupons,
      showList,
      onChange,
      onExchange,
      chosenCoupon,
      disabledCoupons: [coupon],
    };
  },
};

API

CouponCell Props

參數(shù) 說明 類型 默認(rèn)值
title 單元格標(biāo)題 string 優(yōu)惠券
chosen-coupon 當(dāng)前選中優(yōu)惠券的索引 number | string -1
coupons 可用優(yōu)惠券列表 Coupon[] []
editable 能否切換優(yōu)惠券 boolean true
border 是否顯示內(nèi)邊框 boolean true
currency 貨幣符號(hào) string

CouponList Props

參數(shù) 說明 類型 默認(rèn)值
v-model:code 當(dāng)前輸入的兌換碼 string -
chosen-coupon 當(dāng)前選中優(yōu)惠券的索引 number -1
coupons 可用優(yōu)惠券列表 Coupon[] []
disabled-coupons 不可用優(yōu)惠券列表 Coupon[] []
enabled-title 可用優(yōu)惠券列表標(biāo)題 string 可使用優(yōu)惠券
disabled-title 不可用優(yōu)惠券列表標(biāo)題 string 不可使用優(yōu)惠券
exchange-button-text 兌換按鈕文字 string 兌換
exchange-button-loading 是否顯示兌換按鈕加載動(dòng)畫 boolean false
exchange-button-disabled 是否禁用兌換按鈕 boolean false
exchange-min-length 兌換碼最小長(zhǎng)度 number 1
displayed-coupon-index 滾動(dòng)至特定優(yōu)惠券位置 number -
show-close-button 是否顯示列表底部按鈕 boolean true
close-button-text 列表底部按鈕文字 string 不使用優(yōu)惠
input-placeholder 輸入框文字提示 string 請(qǐng)輸入優(yōu)惠碼
show-exchange-bar 是否展示兌換欄 boolean true
currency 貨幣符號(hào) string
empty-image 列表為空時(shí)的占位圖 string -
show-count 是否展示可用 / 不可用數(shù)量 boolean true

CouponList Events

事件名 說明 回調(diào)參數(shù)
change 優(yōu)惠券切換回調(diào) index, 選中優(yōu)惠券的索引
exchange 兌換優(yōu)惠券回調(diào) code, 兌換碼

CouponList Slots

名稱 說明
list-footer v3.0.18 優(yōu)惠券列表底部
disabled-list-footer v3.0.18 不可用優(yōu)惠券列表底部

Coupon 數(shù)據(jù)結(jié)構(gòu)

鍵名 說明 類型
id 優(yōu)惠券 id string
name 優(yōu)惠券名稱 string
condition 滿減條件 string
startAt 卡有效開始時(shí)間 (時(shí)間戳, 單位秒) number
endAt 卡失效日期 (時(shí)間戳, 單位秒) number
description 描述信息,優(yōu)惠券可用時(shí)展示 string
reason 不可用原因,優(yōu)惠券不可用時(shí)展示 string
value 折扣券優(yōu)惠金額,單位分 number
valueDesc 折扣券優(yōu)惠金額文案 string
unitDesc 單位文案 string

類型定義

組件導(dǎo)出以下類型定義:

import type { CouponCellProps, CouponListProps } from 'vant';

主題定制

樣式變量

組件提供了下列 CSS 變量,可用于自定義樣式,使用方法請(qǐng)參考 ConfigProvider 組件。

名稱 默認(rèn)值 描述
--van-coupon-margin 0 var(--van-padding-sm) var(--van-padding-sm) -
--van-coupon-content-height 84px -
--van-coupon-content-padding 14px 0 -
--van-coupon-content-text-color var(--van-text-color) -
--van-coupon-background var(--van-background-2) -
--van-coupon-active-background var(--van-active-color) -
--van-coupon-radius var(--van-radius-lg) -
--van-coupon-shadow 0 0 4px rgba(0, 0, 0, 0.1) -
--van-coupon-head-width 96px -
--van-coupon-amount-color var(--van-danger-color) -
--van-coupon-amount-font-size 30px -
--van-coupon-currency-font-size 40% -
--van-coupon-name-font-size var(--van-font-size-md) -
--van-coupon-disabled-text-color var(--van-text-color-2) -
--van-coupon-description-padding var(--van-padding-xs) var(--van-padding-md) -
--van-coupon-description-border-color var(--van-border-color) -
--van-coupon-checkbox-color var(--van-danger-color) -
--van-coupon-list-background var(--van-background) -
--van-coupon-list-field-padding 5px 0 5px var(--van-padding-md) -
--van-coupon-list-exchange-button-height 32px -
--van-coupon-list-close-button-height 40px -
--van-coupon-list-empty-tip-color var(--van-text-color-2) -
--van-coupon-list-empty-tip-font-size var(--van-font-size-md) -
--van-coupon-list-empty-tip-line-height var(--van-line-height-md) -
--van-coupon-cell-selected-text-color var(--van-text-color) -


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)