• vue ant DatePicker 日期选择器 限制日期可控范围


    场景

    限制当前日期之前不能选择
    限制只能选择日期区间内 
    
    • 1
    • 2

    Ant Design Vue

    在这里插入图片描述

    效果

    moment //需全局安装moment 结合使用
    
    • 1
    <a-date-picker :disabledDate="disabledDate"></a-date-picker>
    
    • 1
    method
    // 限制日期选择
      disabledDate(current) {
        return current && current > moment().endOf("day");//当前日期之后不能选择
        return current && current < moment().endOf("day");//当前日期之前不能选择(含当前日)
        return current && current < moment().subtract(1, "days");//当前日期之前不能选择(不含当前日)
        
        //只能选择日期区间内 dates格式为[“2023-03-09","2023-03-30”]
        let beginDay = dates[0];
        let endDay = dates[1];
        return current && current < moment(beginDay).endOf("day") || current > moment(endDay).endOf("day");
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
     //限制选择当前时间前2个月后2个月
     let startDate = moment(new Date()).subtract(2, "months").format("YYYY-MM-DD");
     let endDate = moment(new Date()).add(2, "months").format("YYYY-MM-DD");
    
    
    • 1
    • 2
    • 3
    • 4

    案例

    在这里插入图片描述

    <template>
        <a-range-picker value-formate="YYYY-MM-DD" format="YYYY-MM-DD" :disabledDate="disabledDate" :ranges="ranges" @change="onChange" />
    </template>
    <script>
    import moment from 'moment';
    export default {
    data(){
      return{
        ranges:{
         '第一季度':[moment().quarter('1').startOf('quarter'), moment().quarter('1').endOf('quarter')],
         '第二季度':[moment().quarter('2').startOf('quarter'), moment().quarter('2').endOf('quarter')],
         '第三季度':[moment().quarter('3').startOf('quarter'), moment().quarter('3').endOf('quarter')],
         '第四季度':[moment().quarter('4').startOf('quarter'), moment().quarter('4').endOf('quarter')],
         '今年':[moment().startOf('year'), moment().endOf('year')],
         '去年':[moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')],
        }
      }
    },
    methods:{
      disabledDate(){
         return (current) => {
          return //这样的话所有的日期都不可选 只能通过点击left和right来选择 
          }
      },
      // disabledDate(current){
      //   return current && current.valueOf() > Date.now(); // 当前时间大于今天,则不能选择
      // },
      onChange(date, dateString){
        console.log(date, dateString)
        }
    }
    }
    </script>
    
    <style>
    
    </style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
  • 相关阅读:
    SQL语言的规则与规范
    [Qt][输入类控件]详细讲解
    蓝桥杯每日一题2032.10.24
    计算机组成原理第三章 13 主存芯片的构成 主存和CPU之间的连接 字扩展和位扩展 $\color{red}{2^n}$
    Retrofit2 完全解析 探索与okhttp之间的关系
    数据库设计
    JVM阶段(2)-对象
    编辑距离算法
    RabbitMQ
    MindFusion.Diagramming for JavaScript V4.2.3
  • 原文地址:https://blog.csdn.net/m0_53912016/article/details/134062639