<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.zyzy.cn/article/detail/5776/Vant