时间选择器禁用周一以外的和今天之前的

项目遇到的问题



一、时间限制

示例:利用element-ui的时间选择器中,禁用某些时间
在这里插入图片描述

二、使用步骤

1.引入element UI

2.使用element UI

代码如下(示例):

<template>
 <el-date-picker
  v-model="timeVal"  //双向绑定的值为数组形式
  type="daterange"
  align="right"
  unlink-panels
  @change="changeTime" //可以把值拆分成两个
  range-separator="至"
  value-format="yyyy-MM-dd"
  start-placeholder="开始日期"
  end-placeholder="结束日期"
  :picker-options="pickerOptions" //禁用某些值和其他条件
  >
</el-date-picker>
</template>

<style>
export default {
  data(){
   return {
  timeVal:'',
  starTime:'',
  endTime:'',
  pickerOptions: {
        shortcuts: [
          {
            text: "最近一周",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "最近一个月",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
              picker.$emit("pick", [start, end]);
            },
          },
          {
            text: "最近三个月",
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
              picker.$emit("pick", [start, end]);
            },
          },
        ],
        //禁用条件
        disabledDate(time) {
          return time.getTime() < new Date().getTime() || time.getDay() != 1;
        },
      },
   }
  },
  method:{
   changeTime() {
      this.startTime = this.timeVal[0];
      this.endTime = this.timeVal[1];
    },
  }
  
}
</style>

总结

提示:这里对文章进行总结:``提示:这里对文章进行总结:

1.因为本身他获取的是数组形式,所以获取开始/结束时间利用数组的下标就能获取。
2.:picker-options="pickerOptions"中有禁用选项,只用在里面添加你想禁用的条件就好,eg:
禁用周一的,time.getDay() != 1;
禁用今天之前的 time.getTime() < new Date().getTime()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ant Design Vue是一个基于Vue.jsUI组件库,其中包含了许多实用的组件。在Ant Design Vue中,日期选择器是一个常用的组件之一。如果需要禁用之前的日期,可以通过以下方式实现: 1. 使用disabledDate属性: 在Ant Design Vue中,日期选择器组件提供了一个属性叫做disabledDate,可以用来禁用一些日期。具体做法是,在日期选择器中添加disabledDate属性,并且将其值设置为一个函数,这个函数会接收一个当前日期的参数,需要在函数中对这个参数进行判断,如果符合禁用的条件,则返回true,否则返回false。 2. 结合moment.js使用: 如果需要禁用之前的日期,可以借助moment.js这个第三方库来实现,在Ant Design Vue中,日期选择器组件内部使用了moment.js进行日期处理,因此我们可以在disabledDate函数中使用moment.js提供的一些方法来判断当前日期是否符合要求。 下面是一个实现禁用之前日期的示例代码: ``` <template> <a-date-picker :disabled-date="disabledDate"></a-date-picker> </template> <script> import moment from 'moment'; // 引入moment.js库 export default { data() { return {}; }, methods: { // 禁用之前的日期 disabledDate(current) { return current && current < moment().endOf('day'); } } }; </script> ``` 以上就是Ant Design Vue日期选择器禁用之前日期的实现方法,通过设置disabledDate属性,可以有效地限制用户选择的日期范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值