在 Vant3 中,Coupon 组件用于创建优惠券选择器,通常用于用户在下单时选择可用的优惠券。以下是一个简单的使用示例:
<template>
  <van-coupon
    v-model="showCoupon"
    :coupons="couponList"
    :chosen-coupon="chosenCoupon"
    @change="onChange"
    @exchange="onExchange"
  />
</template>

<script>
import { Coupon } from 'vant';

export default {
  components: {
    [Coupon.name]: Coupon,
  },
  data() {
    return {
      showCoupon: true, // 控制优惠券选择器的显示与隐藏
      couponList: [
        {
          id: '1',
          condition: 100, // 使用条件
          reason: '新用户专享',
          value: 10, // 优惠券面额
        },
        // 可以有多个优惠券对象
      ],
      chosenCoupon: '', // 用于双向绑定选中的优惠券 ID
    };
  },
  methods: {
    onChange(coupon) {
      // 处理优惠券选择变化的逻辑
      console.log('选择的优惠券:', coupon);
    },
    onExchange(code) {
      // 处理兑换优惠券的逻辑
      console.log('兑换的优惠券码:', code);
    },
  },
};
</script>

在这个示例中:

  •  v-model="showCoupon" 用于控制优惠券选择器的显示与隐藏。

  •  :coupons="couponList" 属性设置可用的优惠券列表数据。

  •  :chosen-coupon="chosenCoupon" 用于双向绑定选中的优惠券 ID。

  •  @change 事件会在优惠券选择变化时触发,你可以在 onChange 方法中处理选择变化的逻辑。

  •  @exchange 事件会在用户兑换优惠券时触发,你可以在 onExchange 方法中处理兑换优惠券的逻辑。


你可以根据实际需求添加其他属性或者定制样式。


转载请注明出处:http://www.pingtaimeng.com/article/detail/5776/Vant