element组件el-date-picker禁用当前时分秒之前的日期时间选择

element组件el-date-picker禁用当前时分秒之前的日期时间选择(包有用)

<el-date-picker
       v-model="expireDate"
       type="datetime"
       @change="handle"
       format='yyyy-MM-dd HH:mm:ss'
       value-format='yyyy-MM-dd HH:mm:ss'
       :picker-options="pickerOptions"
      placeholder="选择日期"
/>

data区域

data(){
return {
   pickerOptions: {
         disabledDate(time) {
          const date = new Date();
          const oneday = date.getTime();
          return time.getTime() < new Date().getTime() - 86400000;
        },
        selectableRange: (() => {
          let data = new Date();
          let hour = data.getHours();
          let minute = data.getMinutes();
          let second = data.getSeconds();
          return [`${hour}:${minute}:${second} - 23:59:59`]
        })(),
	}

}

el-date-picker添加日期约束(年月日时分秒)

<el-form-item label="开始日期"
              prop="startDate">
  <el-date-picker v-model="sizeForm.startDate"
                  :clearable='false'
                  type="datetime"
                  @change='changeStartTime'
                  placeholder="开始日期"
                  align="right">
  </el-date-picker>
</el-form-item>
<el-form-item label="结束日期"
              prop="endDate">
  <el-date-picker v-model="sizeForm.endDate"
                  :clearable='false'
                  type="datetime"
                  @change='changeEndTime'
                  placeholder="结束日期"
                  align="right">
  </el-date-picker>
</el-form-item>

data() {
	return {
		sizeForm: {
	        startTime: null,
	        endTime: null,
      	},
      	// 开始和结束日期转换的时间戳
      	startTime: null,
      	endTime: null,
	}
}

methods:{
	//选择日期后触发change方法,将开始和结束时间转为时间戳进行对比,不符合约束条件就清空该日期重新选择
	changeStartTime(val) {
      let date = new Date(val).getTime();
      this.startTime = date;
      if (this.endTime) {
        if (this.endTime < this.startTime) {
          this.$message.success('开始时间不能大于结束时间');
          this.sizeForm.startDate = '';
          this.startTime = null;
        }
      }
    },
    changeEndTime(val) {
      let date = new Date(val).getTime();
      this.endTime = date;
      if (this.startTime) {
        if (this.endTime < this.startTime) {
          this.$message.success('结束时间不能小开始时间');
          this.sizeForm.endDate = '';
          this.endTime = null;
        }
      }
    },
}

到此这篇关于element组件el-date-picker禁用当前时分秒之前的日期时间选择的文章就介绍到这了,更多相关element el-date-picker禁用时间选择内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Vue3 elementUI如何修改el-date-picker默认时间

    目录 elementUI修改el-date-picker默认时间 el-date-picker设置默认时间区间 需求 代码和注释如下 elementUI修改el-date-picker默认时间 HTML: <el-date-picker    v-model="dateValue"    type="daterange"    size="small"    unlink-panels    range-separator="至&

  • element日期选择器el-date-picker样式图文详解

    目录 1.基本用法 2.调高度.颜色 3.调日历图标位置 4.调日历面板 5.设置日期框日期颜色 6.拓展 总结 1.基本用法 代码: <el-date-picker type="date" v-model="valueStart" value-format="yyyy-MM-dd" placeholder="开始时间" > </el-date-picker> 代码解读: type参数是用来定义选择器选

  • element ui时间日期选择器el-date-picker报错Prop being mutated:"placement"解决方式

    目录 发现错误 解决 补充:el-date-picker 初始化报错 总结 发现错误 这两天在写新项目的时候,遇到了element ui 时间日期选择器一直报错 [Vue warn]: Avoid mutating a prop directly since the value will beoverwritten whenever the parent component re-renders.Instead, use a data or computed property based on

  • vue element-ui el-date-picker限制选择时间为当天之前的代码

    vue element-ui el-date-picker限制选择时间为当天之前的代码 <el-date-picker v-model="firstdate" :picker-options="pickerOptions0" type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间&

  • 解决Element中el-date-picker组件不回填的情况

    1.问题描述 当我们在实用ElementUI组件完成项目的时候可能会遇到这样的需求,比如: 新建一个活动,需要定义活动的时间范围: 因此我们在新建活动的操作过程中需要选择一段时间区间以及活动名称等信息提交,新建完成: 网页上出现了新建好的活动,其他人想查看详细信息,打开页面,发现时间区间并没有实现回填! 2.问题分析 时间信息没有回填,首先要检查,后台数据返回情况以及页面上字段信息是否有差异等细节: 如果没有以上的情况,那就是我碰到的这种情况了, 后端数据返回没有差异,而且页面字段也没有错,其他

  • element组件el-date-picker禁用当前时分秒之前的日期时间选择

    element组件el-date-picker禁用当前时分秒之前的日期时间选择(包有用) <el-date-picker v-model="expireDate" type="datetime" @change="handle" format='yyyy-MM-dd HH:mm:ss' value-format='yyyy-MM-dd HH:mm:ss' :picker-options="pickerOptions" p

  • jQueryUI DatePicker 添加时分秒

    jquery.ui 的 datepicker 默认是年月日的jquery 插件,如果添加时分秒 只需要做如下修改即可 1. 下载jquery-ui-timepicker-addon.js ,并在页面加载 2. 页面添加如下 timepicker 的样式即可 复制代码 代码如下: .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }  .ui-timepicker-div dl { text-align: left; }  .ui

  • vue中使用element组件时事件想要传递其他参数的问题

    在使用element的上传组件时在一下几个钩子中传递其他参数 图中是文件上传时的几个钩子,参数为文件或文件列表或者其他参数,但是现在我想在原有参数上传递其他参数.比如我想在on-success的钩子中传递一个自定义参数i,原本是这样写的: :on-success="handleSuccess(i)" //handleSuccess是一个方法 但是发现这样写取不到自身原来的参数,后来在网上找到了一个比较好的方法,如下: :on-success="(value)=> han

  • vue使用Element组件时v-for循环里的表单项验证方法

    标题描述看起来有些复杂,有vue,Element,又有表单验证,还有v-for循环?是不是有点乱?不过我相信开发中遇到过此问题的同学,一看就明白我说的意思了. 首先Element组件有一套完善的表单验证方法,官方文档写的也很清楚:Element表单验证API,正常按照官方文档添加rules规则,需要验证的表单项设置prop,然后提交表单时通过form的validate方法验证表单项就可以了. 然鹅问题来了,如果表单项里有通过v-for动态生成的表单项,如何设置验证呢?这个官方文档并没有明确的说法

  • element中TimePicker时间选择器禁用部分时间(显示禁用到分钟)

    项目需求是:选择日期和时间,只能选择当前时间以后的时间,禁用最小级别到分钟. 有两种选择 1.使用DateTimePicker 日期时间选择器. 2.DatePicker 和 TimePicker 组合使用 这里我是用的是第二种方法,最主要的属性是picker-options <el-date-picker v-model="formInline.inventoryDate" type="date" align="right" placeh

  • Vue引入并使用Element组件库的两种方式小结

    目录 前言 Element-ui(饿了么ui) 安装element-ui 引入element-ui 完整引入element-u 按需引入element-ui 总结 前言 在开发的时候,虽然我们可以自己写css或者js甚至一些动画特效,但是也有很多开源的组件库帮我们写好了.我们只需要下载并引入即可. vue和element-ui在开发中是比较般配的,也是我们开发中用的很多的,下面就介绍下如何在eue项目中引入element-ui组件库 Element-ui(饿了么ui) element-ui(饿了

  • vue select组件的使用与禁用实现代码

    业务:消息推送方式有两种,为"微信"和"邮件",微信发送时需要选择"要发送的应用程序",邮件发送时不需要 微信发送时,页面如下: 邮件发送时,选择器不可用,页面如下: 虽然官网上没有给出具体的例子,但可从属性中查到 "disabled"属性, 属性 说明 类型 默认值 disabled 是否禁用 Boolean false 实现: 添加disabled属性,写成如下红色标记格式:定义一个isAble变量,用来存放TRUE和FA

  • vue的安装及element组件的安装方法

    一.新建vue项目 1.首先需要下载nodejs,安装后打开命令窗口可以使用npm包管理工具 npm集成在node中的,所以直接输入npm-v查看npm的版本信息 2.npm有些资源被屏蔽或者是国外资源的原因,经常会导致用npm安装依赖包的时候失败,所有我还需要npm的国内镜像---cnpm. 3.在命令行中输入 npm install -g cnpm--registry=http://registry.npm.taobao.org然后等待安装完成,就可以使用cnpm安装依赖包了,这里说一下最好

  • Vant Weapp组件踩坑:picker的初始赋值解决

    在使用vant的picker组件时,我希望有在页面加载时向数据库获取值来设置picker的默认值.开始我使用官方文档中的default-index属性,并在onLoad方法中进行this.setData().但是这样做picker的默认索引还是0. 于是我又将setData放入onShow().onReady()方法,均不奏效.(我真的不知道为什么,新建一个空白页面测试也是这样) 继而我查看官方文档,发现picker有实例方法setIndexes(),于是尝试. 然而我在onLoad().onR

  • Element框架el-tab点击标签页时再渲染问题的解决

    之前一直以为这种标签页加载时要么同时渲染,加载所有页面:要么通过el-tab的@tab-click事件,通过判断tab.name选择加载.但是后者有两个弊端:(1)页面仍然一下子渲染,向后台请求许多接口,造成页面加载缓慢,无法实现实时渲染的效果(2)不能解决父子组件数据传递的问题) 1. 父子组件数据传递问题: <!--父组件--> <el-tabs v-model="activeName" @tab-click="handleClick">

随机推荐