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

丰台周边网站建设长沙市天心建设局网站

丰台周边网站建设,长沙市天心建设局网站,营销推广外包公司,长沙哪些公司做网站一、问题 在Vue中使用Element UI的日期选择组件 el-date-picker#xff0c;当你清空所选时间时#xff0c;组件会将绑定的 v-model 值设置为 null。这是日期选择器的预设行为#xff0c;它将清空所选日期后将其视为 null。但有时后端不允许日期传空。 因此#xff…一、问题 在Vue中使用Element UI的日期选择组件 el-date-picker当你清空所选时间时组件会将绑定的 v-model 值设置为 null。这是日期选择器的预设行为它将清空所选日期后将其视为 null。但有时后端不允许日期传空。 因此可以考虑使用自定义函数来处理日期选择器的值然后根据需要进行相应的处理。 方法一 你可以使用 :value 和 change 这两个属性来控制日期选择器的行为。下面是一个简单的例子 templateel-date-pickerv-modelpickedDatetypedateplaceholder选择日期:valuepickedDatechangehandleDateChange/el-date-picker /templatescript export default {data() {return {pickedDate: null // 你的日期数据};},methods: {handleDateChange(value) {// 当日期改变时的处理函数// 在这里你可以根据需要处理日期的值// 例如如果不想让清空操作将日期设置为null可以在这里进行判断if (!value) {// 当清空日期时不更新pickedDate保持原值return;}// 如果需要在清空时设置日期为特定值比如空字符串可以在此处设置// this.pickedDate value;// 在其他情况下将值更新为选择的日期this.pickedDate value;}} }; /script在上面的例子中handleDateChange 方法会接收日期选择器选择的值。你可以在这个方法中根据需求进行逻辑处理。如果选择器的值为空清空操作你可以决定保持 pickedDate 不变或者设置为特定值而不是 null。 方法二 el-date-picker绑定value当点击x时会将value的值改为null重新赋值时 会报错解决方案 watch: {value1(val, oldVal) {if (!val) {this.value1 new Date()}}}, 监听value的值并且判断新值如果新值为null就证明点击了x号这时候给value赋一个值就可以解决报错。 二、具体问题 我遇到的问题是需求需要可以只选择开始日期也可以只选择截止日期。因此组件是由两个“选择日”组件构成typedate如下图 而不是由一个“选择日期范围”组件typedaterange 因此需要做 1.限制起始日期小于截止日期 1根据用户选中的开始日期置灰不可选的日期范围 2如果用户先选择截止日期再选择的开始日期且开始日期大于截止日期清空截止日期 2.处理点击日期控件的清除按钮后传值未null情况 1用了监听的方法 3.由于我一个页面中有多个日期选择器el-date-picker对应不同的v-model字段所以写了一个公共组件来处理 el-form-item label处理日期 label-width70pxel-date-pickerv-modelformSearch.dateBegintypedateplaceholder选择日期value-formatyyyy-MM-ddstylewidth: 167pxchangevalidateDateRange(dateBegin,dateEnd)/el-date-picker至el-date-pickerv-modelformSearch.dateEndtypedateplaceholder选择日期value-formatyyyy-MM-ddstylewidth: 167pxchangevalidateDateRange(dateBegin,dateEnd):picker-optionsgetPickerOptions(dateBegin)/el-date-picker/el-form-item 逻辑 methods: {//日期选择限制getPickerOptions(startField) {const startDate new Date(this.formSearch[startField]);return {disabledDate: (time) {return time.getTime() startDate.getTime();},};},//选择日期时触发validateDateRange(startField,endField) {this.pickerOptions[startField] this.getPickerOptions(startField);const startDate new Date(this.formSearch[startField]);const endDate new Date(this.formSearch[endField]);if (endDate startDate) {// 如果截止日期早于开始日期更新截止日期为开始日期之后的日期this.formSearch[endField] ;}this.watchField(startField, endField);},//监听如果传值是null改为后端需要的字符串‘’watchField(startField, endField) {this.$watch(() [this.formSearch[startField], this.formSearch[endField]],([newStart, newEnd], [oldStart, oldEnd]) {if (newStart null || newStart ) {console.log(开始日期为空);this.formSearch[startField] ; // 将开始日期设置为空字符串}if (newEnd null || newEnd ) {console.log(结束日期为空);this.formSearch[endField] ; // 将结束日期设置为空字符串}},{ deep: true });}, } 4.解释一下picker-options picker-options 是 Element UI 中某些组件的一个属性它允许自定义日期选择器、时间选择器、颜色选择器等组件的行为和显示方式。 这个属性可以用来传递一些选项对象以控制选择器的行为比如在日期选择器中可以用来限制可选日期范围、禁用某些日期等。 picker-options 通常是一个对象包含了一系列可以配置的选项。这些选项可以因不同的组件而异以下是一些常见的选项用法示例 日期选择器DatePicker disabledDate用于禁用不可选的日期。可以是一个函数接收当前日期作为参数根据函数返回值 true 或 false 来决定是否禁用该日期。shortcuts设置快捷选项例如 今天、昨天、最近一周 等。 时间选择器TimePicker selectableRange限制可选时间范围。可以提供一个数组表示允许选择的时间范围。 颜色选择器ColorPicker predefine预定义颜色。 5.时间戳 .getTime() 是 JavaScript 中 Date 对象的一个方法用于获取该日期对象表示的时间戳以毫秒为单位。这个方法返回一个数值表示从特定的起始时间通常是1970年1月1日格林威治时间午夜到该日期时间的毫秒数。这个数值就是时间戳。 这个时间戳可以用于进行日期时间的比较、计算时间间隔等操作。 const currentDate new Date(); // 创建一个表示当前时间的 Date 对象 const timestamp currentDate.getTime(); // 获取当前时间的时间戳 console.log(timestamp); // 输出当前时间的时间戳比较时间有两种方法一个是 new Date()成时间对象进行比较另一个是.getTime()时间戳比较。 1. 使用 Date 对象进行比较 您可以使用 Date 对象来表示日期和时间然后直接对这些对象进行比较。例如您可以使用 new Date() 创建日期对象然后使用比较运算符如 , , , 直接比较这些对象。 const date1 new Date(2022-10-01); const date2 new Date(2023-02-05);if (date1 date2) {console.log(date1 在 date2 之前); } else if (date1 date2) {console.log(date1 在 date2 之后); } else {console.log(date1 和 date2 相等); }2. 使用时间戳进行比较 另一种方法是将日期对象转换为时间戳然后比较这些时间戳。您可以使用 getTime() 方法获取日期对象的时间戳并使用比较运算符对时间戳进行比较。 const date1 new Date(2022-10-01); const date2 new Date(2023-02-05);const timestamp1 date1.getTime(); const timestamp2 date2.getTime();if (timestamp1 timestamp2) {console.log(date1 在 date2 之前); } else if (timestamp1 timestamp2) {console.log(date1 在 date2 之后); } else {console.log(date1 和 date2 相等); }
http://www.huolong8.cn/news/288566/

相关文章:

  • 360免费建站网页链接电商平台建设方案
  • 阿里万网怎么做网站wordpress婚庆主题公园
  • 大气网站模板下载白云区手机版网站建设
  • 商城型网站怎么做优化网站内容的设计
  • 做一个官方网站需要多少钱杭州公司网站建设电话
  • 动易网站开发免费ip地址代理软件
  • 建立网站专栏手机怎样创建网站
  • 中山网站seo优化集团网站群建设方案
  • 武进常州做网站WordPress搭建流媒体网站
  • 为网站网站做宣传wordpress 首页折叠
  • 软件公司网站建设1111wk域名更换
  • 科技之星wordpress多城市seo
  • 免费ps模板下载网站为公司做网站要做什么准备
  • 正规的网上购物平台网站如何免费做SEO优化
  • 顺的网站建设服务实体店怎么推广引流
  • 企业网站管理系统设计报告大姨吗网站
  • 鹤壁建设网站推广渠道易云巢做营销型网站
  • 在百度做网站怎么做监利网站
  • 网站版权备案做网站的基本条件
  • 书画网站模板下载超市网站开发建设建议
  • 网站流量统计工具绍兴网站建设方案
  • 建设一个网站需要注意哪些内容网络组建与维护实训总结
  • 雄安智能网站建设方案网站规划说明书范文
  • 网站开发报价范围夜深人不静免费看高清
  • 仙桃网站设计公司湖南seo推广系统
  • 网站建设方案书个人查公司注册信息怎么查
  • 湖北网站建设推荐磁力吧最佳搜索引擎
  • 网站 会员系统 织梦wordpress json 插件安装
  • 南庄营销网站建设肇庆企业做网站
  • 阜宁做网站价格微信小程序下单怎么弄商家