Calendar(日历)

日历是一个输入组件,可以选择日期,时间

使用说明

1. Import

import {Calendar} from 'primeng/primeng';

2. Getting Started

使用ngModel指令实现数据双向绑定

<p-calendar [(ngModel)]="dateValue"></p-calendar>
export class MyModel { 
    dateValue:string;
}

3.Model Driven Forms

日历组件也可以作用于模型驱动的表单(Model Driven Forms)

<p-calendar formControlName="date"></p-calendar>

4.Popup and Inline

日历组件默认以弹出形式展现,可以设置内联风格展示

<p-calendar [(ngModel)]="dateValue" [inline]="true"></p-calendar>

5.日期格式

默认格式为: mm/dd/yy, 通过dataFormat设置日期格式 格式公式)

<p-calendar [(ngModel)]="dateValue" dateFormat="dd.mm.yy"></p-calendar>

6.时间

通过设置timeOnly或者timeFormat属性来激活TimePicker 日期格式选项

<p-calendar [(ngModel)]="dateTimeValue" dateFormat="dd.mm.yy" timeFormat="HH:mm"></p-calendar>

7.展现效果

Calendar组件弹出可以设置多种效果,默认为fadeIn 其他效果有:sildeDown,silde,clip

<p-calendar [(ngModel)]="dateValue" showAnim="slideDown"></p-calendar>

8.日期限制

禁用手动输入日期,将readonlyInput设置为true,并且限制使用minDate和maxDate选项可选择的日期。minDate和maxDate允许值为类似dateFormat中的字符串或着类似"+ 1 m + 7 d"这种。

<p-calendar [(ngModel)]="dateValue" minDate="-1m" maxDate="+1m" [readonlyInput]="true">></p-calendar>

9.本地化

本地化为不同的语言和格式定义,设置区域属性。下面是西班牙的日历。

<p-calendar [(ngModel)]="dateValue" [locale]="es"></p-calendar>
export class MyModel { 
    es: any; 
    ngOnInit() { 
        this.es = { 
            //date 
            closeText: "Cerrar", 
            prevText: "<Ant", 
            nextText: "Sig>", 
            currentText: "Hoy", 
            monthNames: [      "enero","febrero","marzo","abril","mayo","junio", "julio","agosto","septiembre","octubre","noviembre","diciembre" ], 
            monthNamesShort: [ "ene","feb","mar","abr","may","jun", "jul","ago","sep","oct","nov","dic" ], 
            dayNames: [ "domingo","lunes","martes","miércoles","jueves","viernes","sábado" ], 
            dayNamesShort: [ "dom","lun","mar","mié","jue","vie","sáb" ],
            dayNamesMin: [ "D","L","M","X","J","V","S" ], 
            weekHeader: "Sm", 
            dateFormat: "dd/mm/yy", 
            firstDay: 1, 
            isRTL: false, 
            showMonthAfterYear: false, 
            yearSuffix: "" 

            //time 
            timeOnlyTitle: 'Elegir una hora', 
            timeText: 'Hora', 
            hourText: 'Horas', 
            minuteText: 'Minutos', 
            secondText: 'Segundos', 
            millisecText: 'Milisegundos', 
            microsecText: 'Microsegundos', 
            timezoneText: 'Uso horario', 
            timeFormat: 'HH:mm', 
            timeSuffix: '', 
            amNames: ['a.m.', 'AM', 'A'], 
            pmNames: ['p.m.', 'PM', 'P'], 
        }; 
    } 
}

详情看: datapicker timepicker

10.属性

Z
属性名 属性值类型 默认值 描述
readonlyInput string null 设置后,组织键盘手动输入日期
style string null 组件的内联样式
styleClass string null 组件的样式类
inputStyle string null 输入区的内联风格
inputStyleClass string null 输入区的样式类
placeholder string null 文本输入框的占位符
inline boolean false 当启用时,显示内联(inline)的日历。默认值为false,弹出(popup)形式
showAnim string null 弹出(popup)时的动画效果.
showIcon boolean false 当启用后,在input框旁边展现一个带图标的button按钮
dateFormat string mm/dd/yy 日期格式
showButtonPanel boolean null 是否在日历下面显示按钮面板
monthNavigator boolean false 月份是否显示为下拉,而不是文本
yearNavigator boolean false 年份是否显示为下拉,而不是文本
numberOfMonths number 1 一次显示的月份的数量
showWeek boolean false 设置为true,增加一列显示年中的周
showOtherMonths boolean false Whether days in other months shown before or after the current month are selectable. This only applies if the showOtherMonths option is set to true.
selectOtherMonths boolean false 当月份开始或者结束时,是否显示在其他月份显示日期(non-selectable),showOtherMonths 设置为true时显示
defaultDate string null 第一次打开时,如果字段为空,将日期设置为突出
minDate string null 可选的最小日期
maxDate string null 可选的最大日期
disabled boolean false 启用后, 隐藏该组件
timeFormat string HH:mm 时间设置为字符串格式
timeOnly boolean false 隐藏日期选择,只展示时间
stepHour number 1 滑块每一步的小时数
stepMinute number 1 滑块每一步的分钟数
stepSecond number 1 滑块每一步的秒数
hourMin number 0 最小小时数
hourMax number 0 最大小时数
minuteMin number 0 最小分钟数
minuteMax number 0 最大分钟数
secondMin number 0 最小秒数
secondMax number 0 最大秒数
hourGrid number 0 计数器间隔小时数
minuteGrid number 0 计数器间隔分钟数
secondGrid number 0 计数器间隔秒数
timeControlType string slider 定义时间输入的ui,可选值为slider和select
horizontalTimeControls boolean false 是否水平显示选择的元素
minTime string null 最小允许时间,'8:00 am'将限制时间在8am后
maxTime string null 最大允许时间,'8:00 pm' 将限制在8pm之前
timezoneList array null 数组填充时区来选择时区. 可以使用任意值或者数组对象: { label: "EDT", value: -240 }.The value should be the offset number in minutes. So "-0400" which is the format "-hhmm", would equate to -240 minutes.
locale object null 一个对象,拥有日期区域配置属性
icon string fa-calendar 日历显示的图标

11.事件

事件名 事件参数 描述
onSelect value: Selected value 在用户选择一天的时候触发
onBlur event: Blur event 在用户模糊输入时触发

12.样式风格

Name Element
ui-calendar Wrapper of input element
ui-inputtext Input element

13.第三方组件依赖

jQuery UI 的 Datepicker 和 DateTimePicker

results matching ""

    No results matching ""