事件
这篇文章解释了在Telerik DateTimePicker Blazor中可用的事件:
ValueChanged
的ValueChanged
事件在输入中的每次更改(例如,击键)时触发,并且在单击集
或现在
时间下拉菜单中的按钮。
@result
@code {string result;private void MyValueChangeHandler(DateTime theUserInput) {result = string。格式("用户输入:{0}",theUserInput);}}
这个事件是
EventCallback
它可以是同步的(返回无效
),或者它也可以是异步的并返回异步任务
.
处理程序中的lambda表达式是框架所需要的:https://github.com/aspnet/AspNetCore/issues/12226.
@result
模型值:@ thepickervalue
@code {string result;DateTime{获取;设置;} = DateTime.Now;private void MyValueChangeHandler(DateTime theUserInput) {result = $"用户输入:{theUserInput}";//你必须手动更新模型,因为处理ValueChanged事件不允许你使用@bind-Value thePickerValue = theUserInput;}}
OnChange
的OnChange
事件表示用户操作—确认当前值。它在用户按下时触发输入
在输入中,或者当输入失去焦点时。
datetime选择器是一个通用组件,因此必须提供价值
的类型T
组件参数。
@result
@code {string result;private void MyOnChangeHandler(object theUserInput){//处理程序接收到一个你可能需要转换为组件类型的对象//如果你不提供Value,你必须提供type参数给组件result = string。格式("用户输入:{0}",(DateTime) userinput);}}
这个事件是
EventCallback
它可以是同步的(返回无效
),或者它也可以是异步的并返回异步任务
.
的
OnChange
Event是自定义事件,不影响绑定,因此可以与模型和表单一起使用。
@result
模型值:@thePickerValue
@code {string result;DateTime吗?pickervalue {get;设置;} = DateTime.Now;private void MyOnChangeHandler(object theUserInput){//处理程序接收到一个你可能需要转换为组件类型的对象//如果你不提供Value,你必须提供type参数给组件result = string。格式("用户输入:{0}",(userinput作为日期时间?).Value);}}
OnOpen
的OnOpen
事件在DateTimePicker弹出窗口渲染之前触发。
事件处理程序接收一个参数DateTimePickerOpenEventArgs
对象,该对象包含:
财产 | 描述 |
---|---|
IsCancelled |
设置IsCancelled 财产真正的 取消弹出窗口的打开。 |
@code {private DateTime?DateTimePickerValue = DateTime.Now;private DateTime Min = new DateTime(1990,1,8,15,0);private DateTime Max = new DateTime(2025, 1,1,19,30,45);private void OnDateTimePickerPopupOpen(DateTimePickerOpenEventArgs){//设置IsCancelled为true取消OnOpen事件参数IsCancelled = false;}}
OnClose
的OnClose
事件在DateTimePicker弹出窗口关闭之前触发。
事件处理程序接收一个参数DateTimePickerCloseEventArgs
对象,该对象包含:
财产 | 描述 |
---|---|
IsCancelled |
设置IsCancelled 财产真正的 取消弹出窗口的关闭。 |
@*根据条件取消OnClose事件*@ @code {private DateTime?DateTimePickerValue = DateTime.Now;private DateTime Min = new DateTime(1990,1,8,15,0);private DateTime Max = new DateTime(2025, 1,1,19,30,45);private void OnDateTimePickerPopupClose(DateTimePickerCloseEventArgs){//取消基于条件的OnClose事件if (DateTimePickerValue > DateTime.Now) {args。IsCancelled = true;}}}
元素失去焦点时
的元素失去焦点时
事件在组件失去焦点时触发。
@*你不必使用OnChange来对焦点丢失做出反应*@ @code{async Task OnBlurHandler(){控制台。WriteLine($"BLUR触发,当前值为{TheDate}.");} DateTime吗?date {get;设置;} = DateTime.Now;}
OnCalendarCellRender
的OnCalendarCellRender
事件在每个视图中的每个日历单元即将呈现时触发。该事件允许您查找当前视图和单元格日期。类的自定义CSS类< td >
元素。
事件处理程序接收一个参数DateTimePickerCalendarCellRenderEventArgs
对象,该对象包含:
财产 | 类型 | 描述 |
---|---|---|
类 |
字符串 |
日历单元格DOM元素的自定义CSS类。 |
日期 |
DateTime |
日历单元格的日期。 |
视图 |
CalendarView 枚举( 月 ) |
当前可见的视图。您可以使用它来确定日历是否呈现MonthView、YearView等。 |
使用OnCalendarCellRender事件自定义日历单元格。*@ @code {private DateTime DateTimePickerValue {get;设置;} = DateTime.Now;private void OnCalendarCellRenderHandler(DateTimePickerCalendarCellRenderEventArgs args) {if (args。View == CalendarView.Month) {args.Class = args.Date.Day % 3 == 0 ?“特别”:“”;} else if(参数。视图== CalendarView.Decade) { args.Class = args.Date.Year == 2020 ? "special" : ""; } } }