当前位置: 首页 > news >正文

使用vant UI实现时间段选择

需求:选择时间段或者选择日期,时间段不允许跨月,选完开始时间后,结束时间可选 “开始日期~当月最后一天”
格式: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);}}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——13.mapset
  • 电脑开机速度慢怎么解决?
  • 烧结机等调速系统电气设计-大作业/毕设
  • C# UDP与TCP点发【速发速断】模式
  • 用SpringBoot进行通义千问接口调用同步方法和异步流式多轮回复方法
  • go-map系统学习
  • 【 html+css 绚丽Loading 】 000049 流云穿梭环
  • Imagination推出性能最高且具有高等级功能安全性的汽车GPU IP
  • VuePress搭建文档网站/个人博客(详细配置)主题配置-导航栏配置
  • Redhat 8,9系(复刻系列) 一键部署Oracle23ai rpm
  • 【高等数学学习记录】函数
  • 【裸机装机系列】4.kali(ubuntu)-配置个人用户的sudo权限并进行bashrc的其他配置
  • IDEA-调用Restful接口
  • cmake--target_link_libraries
  • Go语言现代web开发15 泛型和错误
  • [LeetCode] Wiggle Sort
  • [译]如何构建服务器端web组件,为何要构建?
  • 【Linux系统编程】快速查找errno错误码信息
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • C++类的相互关联
  • Git 使用集
  • Gradle 5.0 正式版发布
  • GraphQL学习过程应该是这样的
  • JAVA多线程机制解析-volatilesynchronized
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Js基础知识(一) - 变量
  • node 版本过低
  • Python 基础起步 (十) 什么叫函数?
  • Spring框架之我见(三)——IOC、AOP
  • vue:响应原理
  • 聊聊sentinel的DegradeSlot
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端相关框架总和
  • 山寨一个 Promise
  • 我与Jetbrains的这些年
  •  一套莫尔斯电报听写、翻译系统
  • postgresql行列转换函数
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​决定德拉瓦州地区版图的关键历史事件
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #162 (Div. 2)
  • #微信小程序(布局、渲染层基础知识)
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (13):Silverlight 2 数据与通信之WebRequest
  • (C语言)fgets与fputs函数详解
  • (C语言)二分查找 超详细
  • (web自动化测试+python)1
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)linux下的时间函数使用
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Project Open Day(2011.11.13)