使用Telerik Blazor 4.0.1。在3.5.0之前,没有问题。唯一不同的是。net 7.0。
创建一个空白的Telerik Blazor Server项目,并使用附带的index.razor。在OnInitialized中,有两行用来设置DateTime。第一个工作,但第二个结果在TelerikDateInput字段显示h:mm AM而不是12:00 AM。
我做错了什么吗?如果是这样,从3.5到现在有什么变化?
谢谢,
查克
我的用户希望在日期输入中粘贴日期(在本例中是日期选择器)。这似乎在Kendo中起作用,但在Blazor中不起作用,即使复制数据的格式与组件的格式匹配。
尝试复制这日期,是有效的在当前格式:23/03/1998
然后粘贴在日期选择器,看看发生了什么日期
字段
@TheDate
“TheDate”格式=“dd / MM / yyyy”/ > @TheDate。ToString (“dd / MM / yyyy”) @code {DateTime}得到;集;} =新DateTime (2019,11,27,02,03,44);}
---
管理编辑
允许粘贴到DateInput(以及扩展日期选择器,…)将有很多情况需要控制,这就是为什么我们还没有启用它。例如,如果格式是M/d/yyyy,那么在考虑月份时,将无法验证小于或等于12的数字。如果用户粘贴8/2/2020可能意味着两件事——2020年2月8日或2020年8月2日。这可能会导致问题,因为进入数据库的数据可能不正确,并导致应用程序行为不正常。
话虽如此,您建议如何处理组件中的日期粘贴。您希望我们如何处理日期的格式差异?请在下面评论。
---
我希望能够配置自动选项卡行为,以便DateInput只有选项卡时,用户类型'/'(即禁用智能自动选项卡)。
月/日/年
预期用户体验:3/3/2022
例子:https://demos.telerik.com/kendo-ui/dateinput/index
当前用户体验:332022
例子:https://demos.telerik.com/blazor-ui/dateinput/overview
看到https://docs.telerik.com/blazor-ui/components/dateinput/supported-formats#two-digit-year-formats
我使用4位数格式作为解决方案,但2位数格式在这里很正常。这就是为什么大多数工具和操作系统都有截止年。通常是比当前日期早50年的浮动截止年。所以低于70就是20xx。或者你可以把截止年份设置在接近一个世纪以前,因为你认为过去的日期比未来的日期更重要。目前,如果组件具有DebounceDelay,并且在延迟通过之前失去焦点,则会在valuechange事件之前触发Blur事件。
这个错误扩展到DateInput, DatePicker, DateTimePicker和DateRangePicker
如果您使用FloatingLabel,当您进入DateInput控件时,光标将被设置在日期格式文本的末尾。但是,如果不使用FloatingLabel,并且选择DateInput控件,则会选择占位符文本。
繁殖:https://blazorrepl.telerik.com/wQlvclOZ14jEKaXU38.
===
管理编辑
===
报告最初是为DateInput打开的,但是,它也针对其他日期选择器与FloatingLabel兼容.
你好,
请为DateInput和日期/时间选择器添加一个自动完成参数,以便在浏览器自动填充行为不正确时可以控制甚至禁用它。
如果使用“yyyy-MM-dd”格式键入完整值,然后返回更改年部分,焦点将更改为月部分。
例如,输入2022-01-10,然后用鼠标返回到年份部分。输入20。在完成年部分之前,焦点会转移到月部分。
当您使用MM时,其他格式也会出现这种情况。前导零似乎会把事情搞砸。如果你玩弄控制和改变东西,你会注意到焦点功能不起作用。
https://blazorrepl.telerik.com/GckPEjFb19imr0x607
创建WebAssembly CRUD示例新建项目向导然后进入表单页面。
在日期选择器中键入年份。不要把焦点移开,再写一年。这样做几次之后,输入明显滞后,表单变得缓慢。
---
管理编辑
一个潜在的解决方案是禁用指针事件,这样用户就很难集中输入,这样他们就更有可能使用下拉菜单来选择日期:
.k-datepicker.k-dateinput输入{pointer-events:没有;}
<TelerikDatePicker价值=”@ person。StartDate可以”OnChange=@((object dt) => person。StartDate = (DateTime)dt)"ValueExpression=@(() => person。StartDate可以)”宽度=“100%”Id=“StartDateDP”>TelerikDatePicker>
---
你好,
这在演示中很容易看到。使用Safari,进入:
https://demos.telerik.com/blazor-ui/dateinput/overview
尝试使用键盘箭头左右和上下更改日期。它不保存所选日期部分。
在Chrome / Firefox中工作良好。
休闲的步骤:
1.输入“05”
2.输入“右箭头”(选择月份部分)
3.输入“03”
4.输入“右箭头”(选择年份部分)
5.试着输入“2020”…但正如你所看到的,事情变得很奇怪。