DatePickerView选择器

DatePickerView 的功能类似于 DatePicker ,但它是直接渲染在区域中,而不是弹出窗口。

代码演示

选择器

  1. import { Component } from '@angular/core';
  2. @Component({
  3. selector: 'demo-date-picker-view-basic',
  4. template: `
  5. <div class="sub-title">Start datetime {{ getDate(value1) }}</div>
  6. <DatePickerView [(ngModel)]="value1" (onValueChange)="onValueChange($event)"></DatePickerView>
  7. `,
  8. styles: [
  9. `
  10. .sub-title {
  11. margin: 8px;
  12. }
  13. `
  14. ]
  15. })
  16. export class DemoDatePickerViewBasicComponent {
  17. name1 = '选择';
  18. name2 = '选择';
  19. mode = 'date';
  20. value1 = new Date(2018, 8, 15, 8, 0);
  21. value2 = new Date();
  22. currentDateFormat(date, format: string = 'yyyy-mm-dd HH:MM:ss'): any {
  23. const pad = (n: number): string => (n < 10 ? `0${n}` : n.toString());
  24. return format
  25. .replace('yyyy', date.getFullYear())
  26. .replace('mm', pad(date.getMonth() + 1))
  27. .replace('dd', pad(date.getDate()))
  28. .replace('HH', pad(date.getHours()))
  29. .replace('MM', pad(date.getMinutes()))
  30. .replace('ss', pad(date.getSeconds()));
  31. }
  32. getDate(result) {
  33. let format = 'yyyy-mm-dd';
  34. if (this.mode === 'year') {
  35. format = 'yyyy';
  36. } else if (this.mode === 'month') {
  37. format = 'yyyy-mm';
  38. } else if (this.mode === 'date') {
  39. format = 'yyyy-mm-dd';
  40. } else if (this.mode === 'datetime') {
  41. format = 'yyyy-mm-dd HH:MM';
  42. } else {
  43. format = 'HH:MM';
  44. }
  45. this.value1 = result;
  46. return this.currentDateFormat(result, format);
  47. }
  48. onValueChange(event) {
  49. console.log(event);
  50. }
  51. formatIt(date: Date, form: string) {
  52. const pad = (n: number) => (n < 10 ? `0${n}` : n);
  53. const dateStr = `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;
  54. const timeStr = `${pad(date.getHours())}:${pad(date.getMinutes())}`;
  55. if (form === 'YYYY-MM-DD') {
  56. return dateStr;
  57. }
  58. if (form === 'HH:mm') {
  59. return timeStr;
  60. }
  61. return `${dateStr} ${timeStr}`;
  62. }
  63. }

DatePickerView选择器 - 图1

API

参数说明类型默认值
[mode]日期选择的类型‘year’ | ‘month’ | ‘date’ | ‘time’ | ‘datetime’‘date’
[minDate]最小可选日期Date2000-1-1
[maxDate]最大可选日期Date2030-1-1
[locale]国际化,可覆盖全局LocaleProvider的配置{DatePickerLocale: {year, month, day, hour, minute, am?, pm?}, okText, dismissText }-
[disabled]是否不可用booleanfalse
[indicatorStyle]indicator的样式object-
[showErrorToast]显示Toast错误信息booleantrue
[showErrorToastInterval]Toast错误信息显示时间number2000
[(ngModel)]当前选中时间Datenew Date()
(onChange)时间发生变化的回调函数EventEmitter<{date: object}>-
(onValueChange)每列 picker 改变时的回调EventEmitter<{date: object, index: string}>-