关于sap.m.DateTimePicker的minDate可被突破并覆盖的问题咨询
关于sap.m.DateTimePicker突破minDate限制的问题解答
这是SAP UI5的已知bug,并非你的使用错误。
问题原因确认
在sap.m.DateTimePicker的标准方法_fillDateRange中,代码直接引用传入的minDate原对象而非创建副本,导致当用户仅修改时间部分时,非法的时间值会直接覆盖原始的minDate配置,进而绕过时间范围限制。这个问题存在于包括1.71在内的多个UI5版本,甚至最新版本中也未完全修复。
修复方案合理性
你通过创建日期副本的方式修复问题是完全正确的,常见的实现方式包括:
- 设置
minDate时先克隆对象:new Date(yourMinDate.getTime()) - 重写
_fillDateRange方法时,对minDate和maxDate进行值拷贝,避免操作原对象
官方状态说明
该问题已被记录在SAP官方的bug追踪系统中,官方会根据版本迭代计划逐步修复,但对于已停止维护的旧版本(如1.71),大概率不会提供回溯修复,因此你的自定义修复方案是当前最优的临时解决办法。
内容的提问来源于stack exchange,提问作者Rootinator
相关产品推荐
相关产品推荐

