日历控件
1.默认日历时间范围是当前时间到往后的6个月,可通过 min-date 和 max-date 自定义日历的范围。
2.设置 type 为 range 后可以选择日期区间,confirm 事件返回的 date 为数组结构,数组第一项为开始时间,第二项为结束时间。
3.可设置allow-same-day 允许选择同一天。
4.日期确定后触发confirm事件;得到日期数据。
<template>
<div>
<div>
<van-cell-group border>
<van-cell
is-link
title="选择单个日期"
:value="date"
@click="show = true"
center
/>
</van-cell-group>
<van-calendar
v-model="show"
type="range"
@confirm="onConfirm"
:min-date="minDate"
:max-date="maxDate"
:allow-same-day="true"
/>
</div>
</div>
</template>
<script>
export default {
data() {
return {
date: "",
show: false,
minDate: new Date(), //日期可选最小值
maxDate: new Date(), //日期可选最大值
};
},
created() {
let nowDat = new Date();
let dateY = nowDat.getFullYear();
let dateM = nowDat.getMonth();
let dateD = nowDat.getDate();
// 设置日期可选最小值minDate、最大值maxDate
this.minDate = new Date();
//日历可选范围为一年,dateY + 1
this.maxDate = new Date(dateY + 1, dateM, dateD);
},
methods: {
formatDate(date) {
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
},
onConfirm(date) {
const [start, end] = date;
this.show = false;
this.date = `${this.formatDate(start)} - ${this.formatDate(end)}`;
// 日期确定后触发confirm事件;得到日期数据
// 2022/12/1 - 2022/12/2
// 2022/11/23 - 2022/11/23
console.log(this.date);
},
},
};
</script>
<style>
</style>
本文转载自: https://blog.csdn.net/CSSAJBQ_/article/details/128004119
版权归原作者 前端小程 所有, 如有侵权,请联系我们删除。
版权归原作者 前端小程 所有, 如有侵权,请联系我们删除。