vant日历组件Calendar中reset方法的使用

前提:假设当前日历是2022年的6月21号,然后点击选择其他日期时,比如想选择2002年6月15号,点击15号这个日期,但是没有点击确定,直接取消日期选择。之后再次点击选择日期时,日历中选中的日期是上次点击未确定的15号这个日期,而我们想要日历中选中的日期是当前选中的日期,也就是21号,这个如何设置呢。

使用vant日历组件中的reset方法,并配合ref进行使用。

步骤一:在日历组件中先给ref一个值,这里给的值是calendar

<van-calendar ref="calendar" v-model="show" @confirm="onConfirm" />

步骤二:可以在vue生命周期的updated函数中获取到ref,并使用reset

updated(){

// 这里reset没有传参,效果是:点击15号,并取消选择时,再次点击选择日历,当前日历选中的是21号,但是如果点击15号,并点击确定,也就是选择了15号这个日期之后,再次点击选择日期,这个当前选中的就不是15号,而是最大可取的那个日期。

this.$refs.calendar.reset();

//当给reset传参时,注意:此时传递的参数必须是Date类型。此时传参的方式,就可以实现上述题目所求,打开日历时会默认选择当前选中的日期。点击选择日期并取消,再次点击日历时还是会默认选择当前选中的21号,而不是取消的那个日期。

this.$refs.calendar.reset( date );

}

// 接下来说一下如果date不是Date类型,该如何转换。

这里说一下如果date的值是:20220621,那么可以使用moment(date).toDate()进行转换。

如果date的值是:2022年06月21号,就不能使用上面的方法进行转化,

以上就是reset方法的使用,欢迎补充~

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值