请问layui的layDate 使用年月范围 如何设置最大选择12个月?

image.png

laydate.render({
            elem: '#test-range' //开始时间和结束时间所在 input 框的父选择器
            //设置开始日期、日期日期的 input 选择器
            ,range: ['#filter_start_time', '#filter_end_time'] //数组格式为 layui 2.6.6 开始新增
            ,type: 'month'
           /*  , min: minYear() */
            ,max:"new Date()"
        });
阅读 3k
2 个回答

laydate的min和max是设置可选范围的,小于min和大于max的日期都是不可选的。

不知道你这啥需求。
最大值固定在12月?
那没有这个api。。。

laydate.render({
  elem: '#test1',
  type: 'datetime',
  range: true,
  change(_, start) {
    var end = new Date(start.year, start.month+11, start.date, start.hours, start.minutes,start.seconds);
    this.max = {
      date: end.getDate(),
      hours: end.getHours(),
      minutes: end.getMinutes(),
      month: end.getMonth(),
      seconds: end.getSeconds(),
      year: end.getFullYear(),
    }
  }
});

不过layui在修改的时候已经渲染出的状态不会实时变更,即如果一开始已经将结束日期移动到不可选的月份,然后再去点选开始日期,这时虽然已经修改了max到当前月份,但是因为已经渲染出该月份了,所以此时结束日期没有实时置灰处理,切换月份或点选时才置灰

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题