ElementUI时间选择器限制选择范围disabledData的使用

关于结束时间不能大于开始时间的问题,在elementui里我们用官方提供的 disabledDate 选项来解决。
HTML:给选择器加上:picker-options属性

//开始时间
<el-date-picker v-model="startDate"></el-date-picker>
//截止时间
<el-date-picker v-model="endDate" :picker-options="endDateOpt"></el-date-picker>

DATA:

我这里就简略写下关键的。

data() {
    return {
        startDate: null,
        endDate: null,
        endDateOpt: {
            disabledData: (time) => {
                return time.getTime() < this.startDate;
            }
        }
    }
}

以上是单个选择框的,如果是daterange或datetimerange的话:

<el-date-picker v-model="value1" type="daterange"
    :picker-options="pickerOptions">
</el-date-picker>
data() {
   return {
     value: '',
     pickerOptions2: {
         disabledDate: (time) => {
             return time.getTime() > new Date(2017, 11, 30) || time.getTime() < new Date(2017, 11, 11);//注意是||不是&&
         }
     }
   };
}

PS:element 时间选择器,disabledDate同时限制多个条件

<el-date-picker
        v-model="listQuery.allDate"
        type="daterange"
        range-separator="-"
        unlink-panels
        value-format="yyyy-MM-dd"
        start-placeholder="开始日期"
        end-placeholder="结束日期"
        class="data_piccker"
        style="width:240px"
        :picker-options="pickerOptions"
      ></el-date-picker>
pickerOptions: {
        onPick: ({ maxDate, minDate }) => {
          this.pickerMinDate = minDate.getTime()
          if (maxDate) {
            this.pickerMinDate = ''
          }
        },
        disabledDate: (time) => {
           const year = 365 * 24 * 3600 * 1000
           //一年前的时间戳
           let lastyear = this.pickerMinDate - year
          //已经选择一个日期则……
          if (this.pickerMinDate !== '') {
            const day31 = 31 * 24 * 3600 * 1000
            //选中的日期前推31天,的时间戳
            let datarangeb = this.pickerMinDate - day31
            //选中的日期后推31天
            let datarangea = this.pickerMinDate + day31
            //如果后推的日期早于今天,则设置为今日
            if (datarangea > new Date()) {
              datarangea = new Date()
            }
            //使用或||可以同时限制多个条件
            return time.getTime() < datarangeb || time.getTime() > datarangea
          }
          //未选择日期,默认状态当天之前不可选,一年之前不可取
          return time.getTime() > Date.now()  || time.getTime() < lastyear
        },
   },

到此这篇关于ElementUI时间选择器限制选择范围disabledData的使用的文章就介绍到这了,更多相关ElementU disabledData内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解element-ui日期时间选择器的日期格式化问题

    最近在做vue+element-ui的后台管理页面,其中用到了DateTimePicker来选择日期时间,但是在将数据传回后台的过程中遇到了一些令人头疼的问题,在此记录一下解决方案,以免日后再次遇到. 前端页面 前端代码 submitForm(formName) { this.$refs[formName].validate((valid) => { let url = 'http://localhost:8088/pethospital/order-record' let data = qs.

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

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

  • element-ui 时间选择器限制范围的实现(随动)

    需求: 选择日期范围,但是选择范围需要在一周以内.举个栗子:假设选第一个日期为1月17日,那么1月11日以前.1月23号以后的日期都需要设为禁选状态. 方法: 考虑到有两种设计方式: 1.用两个独立时间选择器控制,实现起来比较混乱. 2.用日期范围选择器. 第一种方式没有做demo,有特殊需求的小伙伴请留言.这里选择使用日期范围选择器,使用起来可以预见代码会清爽很多. 效果图: 代码: <el-date-picker v-model="datePick" type="d

  • Element DateTimePicker日期时间选择器的使用示例

    组件-日期时间选择器 日期和时间点 <template> <div class="block"> <span class="demonstration">默认</span> <el-date-picker v-model="value1" type="datetime" placeholder="选择日期时间"> </el-date-pick

  • ElementUI时间选择器限制选择范围disabledData的使用

    关于结束时间不能大于开始时间的问题,在elementui里我们用官方提供的 disabledDate 选项来解决.HTML:给选择器加上:picker-options属性 //开始时间 <el-date-picker v-model="startDate"></el-date-picker> //截止时间 <el-date-picker v-model="endDate" :picker-options="endDateOpt

  • 微信小程序日期时间选择器使用方法

    本文实例为大家分享了精确到秒的微信小程序日期时间选择器,供大家参考,具体内容如下 效果图 实现原理 利用微信小程序的picker组件的多列选择器实现! WXML <view class="tui-picker-content"> <view class="tui-picker-name">时间选择器(选择时分)</view> <picker mode="time" value="{{time}}

  • 微信小程序如何实现精确的日期时间选择器

    这篇文章主要介绍了微信小程序如何实现精确的日期时间选择器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 声明 bug:由于此篇博客是在bindcolumnchange事件中做的值的改变处理,因此会出现当你选择时,没有点击确定,直接取消返回后,会发现选择框的值依然改变. 造成原因:这一点就是由于在bindcolumnchange事件做的值改变处理造成. 处理方法:如果需要确定后再改变值,请将bindcolumnchange事件中的处理操作放到bi

  • 关于element-ui日期时间选择器选不中12小时以后的时间详解

    目录 前言 自定义完时间格式 yyyy-MM-dd hh:mm:ss是12小时制 yyyy-MM-dd HH:mm:ss才是24小时制 结语 前言 最近在工作中用到了element-ui的el-date-picker日期时间选择器,遇到了一个小问题,设置完自定义完时间格式后选不中12小时以后的时间.甚是苦恼,最后发现是设置的时间格式有取值范围.虽然不是什么大问题,但是不细心很容易掉坑,所以总结分享出来给大家避坑. 自定义完时间格式 在el-date-picker标签上设置value-format

  • antd日期选择器禁止选择当天之前的时间操作

    使用disabledDate属性(不可选择的日期) <a-date-picker @change="dateChange" :disabledDate="disabledDate" v-decorator="['endDate']"/> 在js中定义函数并返回 //限制当天之前的日期不可选 disabledDate(current) { return current && current <moment().su

  • ElementUI日期选择器时间选择范围限制的实现

    目录 单个输入框的 情景1: 设置选择今天以及今天之后的日期 情景2: 设置选择今天以及今天以前的日期 情景3: 设置选择今天之后的日期(不能选择当天时间) 两个输入框 情景1: 限制结束日期不能大于开始日期 ElementUI是饿了么推出的一套基于vue2.x的一个ui框架.官方文档也很详细,这里做一个element-ui日期插件的补充. 官方文档中使用picker-options属性来限制可选择的日期,这里举例子稍做补充. 单个输入框的 组件代码: <el-date-picker v-mod

  • vue与bootstrap实现时间选择器的示例代码

    一.下载bootstrap-datetimepicker时间选择器js,css文件. 1. github地址:bootstrap-datetimepicker 2. 官方网站地址:官网bootstrap-datetimepicker地址,有具体的例子与解释 二.在vue项目文件中引入 import './assets/css/bootstrap.min.css' import "./assets/css/bootstrap-datetimepicker.min.css" import

  • Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析

    在bootstrap中的时间选择器有两种:dateTimePicker和dateRangePicker 1.dateTimePicker好像是官方嫡插件: 需要的文件: <link rel="stylesheet" href="css/bootstrap-datetimepicker.min.css"> <script src="js/bootstrap-datetimepicker.min.js"></script

  • BootStrap表单时间选择器详解

    前言 在大多数项目中 用户界面的时间选择是必不可少的,在项目的用户体验友好度这个大前提下,不让用户自己输入时间就显得格外的重要.而且用户输入时间还会存在格式不固定的问题,加大后台的开发量. 在这个时候就需要用到时间输入插件了,格式由我们自己设置,还减少了用户的输入环节提高了用户体验友好度 使用 bootStrap的时间插件datetimepicker支持界面多元化有专门的的一个网址来说明这个时间选择器 BootStrap时间选择器 Demo 利用插件所带的方法和时间.可以做一个简单的demo d

随机推荐