vue element 日期范围选择器限制:只能选今天之前的时间 || 只能选今天之后的时间 || 选取今天往后三天内...

本文介绍了如何在Vue Element中使用日期选择器组件限制用户只能选择今天或者今天之后的时间,以及设置只能选择今天之前或今天以及之后的日期。通过设置`disabledDate`属性并结合时间戳进行条件判断,可以实现不同限制效果。例如,添加`-8.64e7`可以让用户不能选择今天之前的日期,而`+3*8.64e7-1`则允许用户选择今天之后的三天内日期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

举例:只能选今天或者今天之后的时间(如下图)

         <el-date-picker clearable
            v-model="form.limitTime"
            type="date"
            :readonly="isDetail"
            value-format="yyyy-MM-dd"
            :picker-options="expireTimeOPtion"
            placeholder="请选择处理期限">
          </el-date-picker>

注意::picker-options="expireTimeOPtion"

一、只能选择今天或者今天之后的时间

data() {
  return {
    expireTimeOPtion: {
      disabledDate(time) {
        return time.getTime() < Date.now() - 8.64e7;  //如果没有后面的-8.64e7就是不可以选择今天的 
      }
    },
  }
}

二、今天以及今天之前的日期

data() {
  return {
    expireTimeOPtion: {
      disabledDate(time) {
        return time.getTime() > Date.now() - 8.64e6;  //如果没有后面的-8.64e6就是不可以选择今天的 
      }
    },
  }

三、只能选取今天往后三天内

data() {
  return {
   expireTimeOPtime: {
        disabledDate(time) {
          const times = new Date(new Date().toLocaleDateString()).getTime() + 3 * 8.64e7 - 1
          return time.getTime() < Date.now() - 8.64e7 || time.getTime() > times  // 如果没有后面的-8.64e7就是不可以选择今天的
        }
      }
  }
}

完结撒花!赶快试试吧!

作者:微微一笑绝绝子

​​​​​​​出处:vue element 日期范围选择器限制:只能选今天之前的时间 || 只能选今天之后的时间 || 选取今天往后三天内 - 微微一笑绝绝子 - 博客园

本博客文章均为作者原创,转载请注明作者和原文链接。

Vue 2 和 Element UI 中,你可以通过 `el-date-picker` 组件提供的属性来限制用户只能择当前时间之后的时间。同时可以结合表单验证功能来进行进一步的校验。 ### 实现步骤: #### 1. 安装依赖 如果你还没有安装 `element-ui` 可以先通过 npm 或者 yarn 来安装它: ```bash npm install element-ui -S ``` 或者 ```bash yarn add element-ui ``` #### 2. 引入组件并设置禁范围 接下来可以在你的页面里引入所需的 Date Picker 组件,并配置其 `picker-options` 属性,利用 `disabledDate` 函数来自定义不可项。 示例如下: ```html <template> <div id="app"> <!-- 使用 el-form 包裹整个输入框方便做整体样式调整 --> <el-form :model="ruleForm" :rules="rules" ref="ruleForm"> <el-form-item label="请择日期:" prop="dateAndTime"> <el-date-picker v-model="ruleForm.dateAndTime" type="datetime" placeholder="择日期时间" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" :picker-options="pickerOptions" ></el-date-picker> </el-form-item> <el-button @click.prevent="submit">提交</el-button> </el-form> </div> </template> <script> export default { data() { return { ruleForm: { dateAndTime: '' }, // 校验规则 rules: { dateAndTime: [ { required: true, message: '请择有效日期', trigger: ['blur','change'] } ] }, pickerOptions: { disabledDate(time) { // 禁用今天之前的所有天数 const now = new Date().getTime(); return time.getTime() < now; } } }; }, methods:{ submit(){ this.$refs.ruleForm.validate((valid)=>{ if(valid){ console.log('提交成功'); } else{ console.error("验证失败"); return false; } }); } } }; </script> ``` 在这个例子中我们做了几件事情: - 设置了 `v-model` 绑定到数据模型上; - 配置 `type="datetime"` 表明这是一个包含时间和日期的选择器; - 利用 `format` 指令指定显示格式为 "年-月-日 小时:分钟:秒"; - `value-format="timestamp"` 让绑定值变为 Unix 时间戳形式; - 最重要的是,在 `pickerOptions` 内部使用 `disabledDate()` 回调函数禁止择了早于现在时刻的日历项; 此外还加入了简单的必填字段验证逻辑当点击按钮时触发验证流程如果所有条件都满足则打印出“提交成功”反之给出提示信息。 以上就是如何在一个基于Vue.js的应用程序中集成Element UI 的 DateTimePicker 并阻止过去时间段被选取的方法概述啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值