使用vant UI实现时间段选择

news/2024/12/22 20:48:01/

需求:选择时间段或者选择日期,时间段不允许跨月,选完开始时间后,结束时间可选 “开始日期~当月最后一天”
格式:2023-01-01~2023-01-23 或者 2023-01-01
这里使用vantUI

示例代码:

<van-fieldlabel="日期":placeholder="formData.taskDate"v-model="formData.taskDate"input-align="right":rules="[{ required: true, message: '必填' }]"readonlylabel-width="172"@click-input="(showDatePick = true)"><template #right-icon><van-icon name="arrow-down" @click="showDatePick = true" /></template></van-field><!-- 日期选择 start --><van-calendarv-model="showDatePick"@select="onSelectDate"@confirm="dateConfirm"type="range":min-date="minDate":max-date="maxDate"allow-same-day/><!-- 日期选择 end -->

示例代码:

  data(){return{minDate: new Date(2020, 0, 1),maxDate: new Date(2099, 0, 31),formData: {taskDate: moment(new Date()).format("YYYY-MM-DD"),},showDatePick: false, //显示日期pop}},methods: {// 限制可选日期,不可跨月onSelectDate(e) {// 这个月第一天let mindate = moment(e[0]).startOf("month").format("YYYY-MM-DD");let mindateArr = mindate.split("-");this.minDate = new Date(mindateArr[0], mindateArr[1] - 1, mindateArr[2]);// 这个月最后一天let maxdate = moment(e[0]).endOf("month").format("YYYY-MM-DD");let maxdateArr = maxdate.split("-");this.maxDate = new Date(maxdateArr[0], maxdateArr[1] - 1, maxdateArr[2]);},//点击确认,格式化日期格式dateConfirm(date) {this.showDatePick = false;let date1 =  this.formatDate(date[0]);let date2 =  this.formatDate(date[1]);if(date1==date2){this.formData.taskDate = date1;}else{this.formData.taskDate =date1+"~"+date2;}},},//监听数据变化,是否关闭时间选择弹框。初始化可选日期watch:{showDatePick:{handler(val){this.minDate = new Date(2020, 0, 1);this.maxDate = new Date(2099, 0, 31);}}

http://www.ppmy.cn/news/1527230.html

相关文章

(CS231n课程笔记)深度学习之损失函数详解(SVM loss,Softmax,熵,交叉熵,KL散度)

学完了线性分类&#xff0c;我们要开始对预测结果进行评估&#xff0c;进而优化权重w&#xff0c;提高预测精度&#xff0c;这就要用到损失函数。 损失函数&#xff08;Loss Function&#xff09;是机器学习模型中的一个关键概念&#xff0c;用于衡量模型的预测结果与真实标签…

openCV的python频率域滤波

在OpenCV中实现频率域滤波通常涉及到傅里叶变换(Fourier Transform)和其逆变换(Inverse Fourier Transform)。傅里叶变换是一种将图像从空间域转换到频率域的数学工具,这使得我们可以更容易地在图像的频域内进行操作,如高通滤波、低通滤波等。 下面,我将提供一个使用Py…

linux-L3-linux 复制文件

linux 中要将文件file1.txt复制到目录dir中&#xff0c;可以使用以下命令 cp file1.txt dir/复制文件 cp /path/to/source/file /path/to/destination移动 mv /path/to/source/file /path/to/destination复制文件夹内的文件 cp -a /path/to/source/file /path/to/destinati…

Rust的常量

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 3.3.1 常量的定义 常量和变量是高级程序设计语言中数据的两种表现形式。这里我们先…

Go语言并发编程之select语句详解

在Go语言的并发模型中,channel是用于在goroutine之间进行通信的主要工具,而select语句则是将多个channel结合在一起的关键机制。通过select语句,开发者可以同时监控多个channel的状态,从而构建更为复杂和灵活的并发逻辑。本文将详细介绍select语句的原理和用法,并通过多个…

62. 圆圈中最后剩下的数字

comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9862.%20%E5%9C%86%E5%9C%88%E4%B8%AD%E6%9C%80%E5%90%8E%E5%89%A9%E4%B8%8B%E7%9A%84%E6%95%B0%E5%AD%97/README.md 面试题 62. 圆圈中最后剩下的数字…

硬件工程师笔试面试学习汇总——器件篇目录

目录 一、器件篇目录 1、电阻(Resistors) 1.1、 基础 1.2、相关问题 1.3、上拉电阻 1.4、下拉电阻 2、电容(Capacitors) 2.1、基础 2.2、相关问题 3、电感(Inductors) 3.1、基础 3.2、相关问题 4、二极管(Diodes) 4.1、基础 4.2、相关问题 5、三极管 5.1…

PostgreSQL的walsender和walreceiver进程介绍

PostgreSQL的walsender和walreceiver进程介绍 在 PostgreSQL 中&#xff0c;WAL (Write-Ahead Logging) 是一种用于确保数据库事务日志安全可靠的机制。WAL 是 PostgreSQL 进行数据库恢复、复制等操作的基础。walsender 和 walreceiver 是 PostgreSQL 内部两个非常重要的进程&…