下面的代码包含

1.只可以选择今天以后

2.只可以选择今天开始一周内

3.只能选择今天之前的

import { Component } from '@angular/core';
import differenceInCalendarDays from 'date-fns/differenceInCalendarDays';
import setHours from 'date-fns/setHours';
import { DisabledTimeFn, DisabledTimePartial } from 'ng-zorro-antd/date-picker'; @Component({
selector: 'nz-demo-date-picker-disabled-date',
template: `
<nz-date-picker
nzFormat="yyyy-MM-dd HH:mm:ss"
[nzDisabledDate]="disabledDate"
[nzDisabledTime]="disabledDateTime"
[nzShowTime]="{ nzDefaultOpenValue: timeDefaultValue }"
>
</nz-date-picker>
<br />
<nz-month-picker [nzDisabledDate]="disabledDate" nzPlaceHolder="Select month"></nz-month-picker>
<br />
<nz-year-picker [nzDisabledDate]="disabledDate" nzPlaceHolder="Select year"></nz-year-picker>
<br />
<nz-range-picker
[nzDisabledDate]="disabledDate"
[nzDisabledTime]="disabledRangeTime"
[nzShowTime]="{ nzHideDisabledOptions: true, nzDefaultOpenValue: timeDefaultValue }"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
`,
styles: [
`
nz-date-picker,
nz-month-picker,
nz-year-picker,
nz-range-picker,
nz-week-picker {
margin: 0 8px 12px 0;
}
`
]
})
export class NzDemoDatePickerDisabledDateComponent {
today = new Date();
timeDefaultValue = setHours(new Date(), 0); range(start: number, end: number): number[] {
const result: number[] = [];
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
} disabledDate = (current: Date): boolean => {
// 只能选择今天之前的
return differenceInCalendarDays(current, this.today) > 0;
}; disabledDateTime: DisabledTimeFn = () => {
return {
nzDisabledHours: () => this.range(0, 24).splice(4, 20),
nzDisabledMinutes: () => this.range(30, 60),
nzDisabledSeconds: () => [55, 56]
};
};
 public disabledDate1 = (current: Date): boolean => {
    console.log('current',current)
    console.log('111',this._mycom.setDate(current))
    console.log('this.today',this.today)
    console.log('differenceInCalendarDays(current, this.today)',differenceInCalendarDays(current, this.today))
    return differenceInCalendarDays(current, this.today) > 6 || differenceInCalendarDays(current, this.today) < 0 ; // 只可以选择今天开始一周内
  };
  public disabledDate2 = (current: Date): boolean => {
    return differenceInCalendarDays(current, this.today) < 0; // 只可以选择今天以后
  };
  disabledRangeTime: DisabledTimeFn = (_value, type?: DisabledTimePartial) => {
if (type === 'start') {
return {
nzDisabledHours: () => this.range(0, 60).splice(4, 20),
nzDisabledMinutes: () => this.range(30, 60),
nzDisabledSeconds: () => [55, 56]
};
}
return {
nzDisabledHours: () => this.range(0, 60).splice(20, 4),
nzDisabledMinutes: () => this.range(0, 31),
nzDisabledSeconds: () => [55, 56]
};
};
}

antDesign 【NG-ZORRO、Angular】日期选择框时间段nz-range-picker设置默认选择日期及限制日期可选范围的更多相关文章

  1. Csharp: TreeView 初始化设置默认选择节点

    /// <summary> /// 设置查找的节点为选定节点 /// 涂聚文 /// 2013-07-15 /// </summary> /// <param name= ...

  2. ng + zorro angular表格横纵向合并,横向目前是手动,纵向是自动合并,微调后可适配三大框架使用

    表格横纵向合并,可以看一下代码编写之前和之后的样式,先上图~~ 表格页面文件.html <h1>正常表格</h1> <nz-table #colSpanTable [nz ...

  3. Jquery-下拉列表设置默认选择

    $('#select option:eq(2)').attr('selected','selected');

  4. Notes: select选择框

    HTML选择框通过select标签创建,该元素是HTMLSelectElement的实例,拥有以下属性和方法: selectedIndex:选中项的索引 options:选择框的所有选项 add:向选 ...

  5. Android Spinner列表选择框

    Spinner Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源. 1.直接设置数组源 在res/values/strings.xml中设置数组源 ...

  6. Java知多少(87)选择框和单选按钮(转)

    选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...

  7. 《JAVASCRIPT高级程序设计》选择框脚本和富文本编辑

    一.选择框脚本 选择框也是表单的一个字段,是通过<select>和<option>元素来创建的,需要使用javascript来控制.选择框拥有以下的属性和方法: 以下介绍一些选 ...

  8. 前端插件之Bootstrap Switch 选择框开关控制

    简介 Bootstrap Switch是一款轻量级插件,可以给选择框设置类似于开关的样式 它是依赖于Bootstrap的一款插件 下载 下载地址 在线引用 导入 因为它是依赖于Bootstrap的一款 ...

  9. Java知多少(87)选择框和单选按钮

    选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(J ...

随机推荐

  1. 2.pygame快速入门-绘制图像

    介绍 在游戏中能够看到的游戏元素大都是图像 图像文件初始是保存在磁盘上的,如果需要使用,第一步就需要被加载到内存 要在屏幕上看到某一个图像的内容,需要按照三个步骤 使用pygame.image.loa ...

  2. Microsoft Office for Mac最新版本安装教程,亲测可用!!!

    办公必备的Office工具,它为需要使用 Office 工具的用户和企业设计,让他们可以利用功能强大的 Outlook 来处理电子邮件.日历和通讯录事宜.你所熟知和信赖的 Office 经过更新后,可 ...

  3. Java 编码那些事(一)

    编码 做Web的同学,最开始一定遇到过乱码问题,工作这么久,一定听说过Unicode, GB2312等编码.典型的记事本选择的四种选项:ANSI,Unicode,Unicode big endian, ...

  4. 2022UUCTF--WEB

    websign 无法右键 禁用js后 看源码 ez_rce -- 闭合 源码,禁用的东西挺多的 仔细发现 ? <> `没有禁用,闭合标签反引号执行命令 ## 放弃把,小伙子,你真的不会RC ...

  5. JS 可编辑表格的实现(进阶)

    1.前言 在普通的可编辑表格的基础上,改进可编辑表格.数据来自外部的json(模拟服务端),通过json数据生成可编辑表格.根据实际情况,表格没有新增数据功能.表格的可编辑列,计算的列,每列的数据大小 ...

  6. MyBatis笔记03------XXXMapper.xml文件解析

    SQL映射文件的配置解析 当我们写好mapper(dao)层接口时,然后在对应的XXXMapper.xml文件中写业务逻辑对应的SQL映射语句,通过这个文件中可以实现CRU操作,那么下面说明如何编写这 ...

  7. JS数据结构与算法-数组结构

    数组结构 几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构. 数组通常情况下用于存储一系列同一种数据类型的值. 但在JavaScript里,也可以在数组中保存不同类型的值. 但我们 ...

  8. Python的几种lambda排序方法

    1.对单个变量进行排序 #lst = [[5,8],[5,3],[3,1]] lst.sort(key = lambda x : x[1]) #lst = [[3,1],[5,8],[5,3]] 以元 ...

  9. Installing ClickHouse-22.10.2.11 on openEuler

    一.Installing ClickHouse-22.10.2.11 on openEuler 1 地址 https://clickhouse.com https://packages.clickho ...

  10. UBOOT编译--- UBOOT全部目标的编译过程详解(九)

    1. 前言 UBOOT版本:uboot2018.03,开发板myimx8mmek240. 2. 概述 本文接续上篇文章,采用自下而上的方法,先从最原始的依赖开始,一步一步,执行命令生成目标.这里先把上 ...