单选按钮:
引用方式:
<p-radioButton name="groupname" value="ps4" label="select ps4" [(ngModel)]="selectedValue"></p-radioButton>
<p-radioButton name="groupname" value="ps5" label="select ps5" [(ngModel)]="selectedValue"></p-radioButton>
属性信息:
selectedValue: string; 类型
属性label对单选按钮提供文本显示,设置后单件该标签也可以选中 eg:label="select ps4"
属性name 为单选按钮的分组 eg:name="groupname"
初始化方式
selectedValue: string = 'ps4';
自带事件:
(onClick) 点击事件,(onBlur) 失去焦点事件 和 (onFocus) 获得焦点事件
下拉菜单:
引用方式:
<p-dropdown [options]="任意对象的数组" [(ngModel)]="选中值 SelectItem-Object 对象" placeholder="
提示信息"optionLabel="指定选项的字段名称" [showClear]="true" [filter]="true" (onChange)="Function($event.value.XXXX)"></p-dropdown>[showClear] 显示一个图标 可清除当前选中值 eg:[showClear]="true"
[filter] 显示搜索框 eg:[filter]="true"
自带事件:
(onClick) 点击事件,(onBlur) 失去焦点事件 , (onFocus) 获得焦点事件 和 (onChange)菜单值变更事件
Dropdown.resetFilter() 此方法为重置过滤信息,不过 重新对数组赋值也可以实现。
已知的坑:
[options] 可以传递任意属性数组,但是当你传递自定义数组时。[(ngModel)] 返回的是你当前选中的SelectItem-Object。但是我们在一般情况下,只需要选中的DataKey的值,对DataValue不关心。但是,当使用本功能时,如何通过[(ngModel)] 将值绑定回去就是一个头疼的问题,因为当前我们只知道DataKey的值,没有办法组合成控件需要的值。如果想要用这个"很舒服"功能时,考虑下有没有对控件赋值的需求。如果有,建议用官网提供的对象来对 [options] 赋值
eg:
import { SelectItem } from 'primeng/components/common/selectitem';
myOptions: Array<SelectItem> = [
{label: 'New York', value: 'NY'},
{label: 'Rome', value: 'RM'},
]
<p-dropdown [options]="myOptions" [(ngModel)]="myModel"></p-dropdown>
此时,[(ngModel)] 返回的值 只为 value 不会给你返回一个 SelectItem-Object类型 其中 label 和 value 名称不能自定义。如果不改源码的话。
日历控件:
引用方式:
<p-calendar [(ngModel)]="dateValue" ></p-calendar>
属性信息:
dateValue :Date
属性 selectionMode 设置选择方式 “single” 选择一个日期 “multiple” 选择多个日期 “range” 选择一个日期区间 eg:selectionMode = “range”
PS:其中,当selectionMode = “range” 时 返回为一个数组类型
一般情况下,需要将值拆开 第一个值为开始时间,第二个值为结束时间
import { DatePipe } from '@angular/common';
constructor(private datePipe:DatePipe) { }
this.StartDate = this.datePipe.transform(this.DateValue[0],'yyyy-MM-dd');
this.EndDate = this.datePipe.transform(this.DateValue[1],'yyyy-MM-dd');
dateFormat 为设置日期格式,一般就设置为 yyyy-MM-dd eg:dateFormat=“yyyy-MM-dd”
showTime 可以显示时间 可以搭配 hourFormat 设置 时间模式(12小时或24小时) eg : showTime="true" hourFormat="12"
readonlyInput 禁止手动输入时间 eg:[readonlyInput]="true"
disabledDates 和 disabledDays 搭配 readonlyInput 食用 可以禁用特定的日期 其中 disabledDates 需要传递一个Array<Date>数组,而 disabledDays 需要传递一个Array<number>数组 一般设置为 [0,6] 即可,实现选择工作日 搭配食用可以实现选择工作日功能 disabledDates 控制法定节假日 eg: [disabledDates] = "invalidDates" [disabledDays] = "[0,6]" [readonlyInput] = "true"
showButtonBar 显示 今天 和 清除 功能按钮 eg showButtonBar="true"
自带事件:
(onSelect) 选择日期时候调用 PS:手动输入不会调用
(onClose) 关闭日期选择器面板调用。
(onTodayClick) 点击今天按钮是调用。
(onClearClick) 点击清除按钮调用。
(onMonthChange)和(onYearChange) 更改年份 或者月份 时调用