time 时间

输入或选择时间的控件。

注意事项

  • 格式化分为:数据格式化表示表单数据和显示格式化显示数据(等同 nzFormat 值)

  • 所有 数据格式化 单位,参考 date-fns format(国内镜像:moment format

  • 指定 schema.format 则必须遵守 RFC3339 时间格式,否则都视为格式错误,默认的数据格式化:

    • timefull-time 默认 HH:mm:ss
  • 不指定 schema.format 根据 schema.type 值按以下规则处理(允许通过全局配置替换)数据格式化:

    • string 默认 HH:mm:ss

    • number 默认 T 13位 Unix Timestamp

  • 由于 disabledHoursdisabledMinutesdisabledSeconds 组合导致时间格式被破坏,可能会导致无法正常显示或显示不正确时可以指定一个完整的 Date 对象给默认值(schema.defaultformData

代码演示

time 时间 - 图1

基础样例

最简单的用法。

  1. import { Component } from '@angular/core';
  2. import { SFSchema, SFTimeWidgetSchema } from '@delon/form';
  3. import { NzMessageService } from 'ng-zorro-antd/message';
  4. @Component({
  5. selector: 'form-time-simple',
  6. template: `
  7. <sf [schema]="schema" (formSubmit)="submit($event)"></sf>
  8. `,
  9. })
  10. export class FormTimeSimpleComponent {
  11. schema: SFSchema = {
  12. properties: {
  13. time: {
  14. type: 'string',
  15. ui: { widget: 'time' } as SFTimeWidgetSchema,
  16. },
  17. time_number: {
  18. type: 'number',
  19. ui: { widget: 'time' } as SFTimeWidgetSchema,
  20. },
  21. time_format: {
  22. type: 'string',
  23. format: 'time',
  24. ui: {
  25. format: `HH:mm:ss+00:00`,
  26. } as SFTimeWidgetSchema,
  27. },
  28. '12hours': {
  29. type: 'string',
  30. ui: {
  31. widget: 'time',
  32. format: 'h:mm:ss a',
  33. use12Hours: true,
  34. } as SFTimeWidgetSchema,
  35. },
  36. },
  37. };
  38. constructor(private msg: NzMessageService) {}
  39. submit(value: any) {
  40. this.msg.success(JSON.stringify(value));
  41. }
  42. }

API

schema 属性

成员说明类型默认值
[readOnly]禁用状态boolean-
[format]数据格式类型string-

ui 属性

成员说明类型默认值
[size]大小,等同 nzSizestring-
[placeholder]在文字框中显示提示讯息string-
[format]数据格式化stringHH:mm:ss
[displayFormat]显示格式化,(等同 nzFormat 值)stringHH:mm:ss
[utcEpoch]是否UTC新纪元(表示从 1970 开始计毫秒数),当 type=’number’ 时有效booleanfalse
[allowEmpty]是否展示清除按钮booleantrue
[clearText]清除按钮的提示文案string清除
[defaultOpenValue]设置面板打开时默认选中的值Datenew Date()
[disabledHours]禁止选择部分小时选项() => number[]-
[disabledMinutes]禁止选择部分分钟选项(hour: number) => number[]-
[disabledSeconds]禁止选择部分秒选项(hour: number, minute: number) => number[]-
[hideDisabledOptions]隐藏禁止选择的选项booleanfalse
[hourStep]小时选项间隔number1
[minuteStep]分钟选项间隔number1
[secondStep]秒选项间隔number1
[popupClassName]弹出层类名string-
[change]时间发生变化的回调(value: Date) => void-
[openChange]面板打开/关闭时的回调(status: boolean) => void-