ngx-mat-timepicker在Brave浏览器显示invalidDateTime,Chrome/Edge正常
ngx-mat-timepicker在Brave浏览器中选择时间后显示“invalidDateTime”的可能成因
使用ngx-mat-timepicker组件时,点击输入框可弹出时间选择菜单,但在Brave浏览器中选择时间后会提示“invalidDateTime”,而Google Chrome和Microsoft Edge中选择的时间能正常显示在输入框内。以下是可能的成因:
- Brave隐私防护特性干扰:Brave默认开启的Shields功能包含严格的隐私拦截规则,可能影响了组件内部的时间解析脚本执行,或是修改了原生Date对象的行为,导致组件无法正确处理选择的时间值。
- 浏览器时间处理的兼容性差异:组件的时间格式化/解析逻辑可能依赖Chrome/Edge支持的特定Date API行为,而Brave在AM/PM格式解析、时区处理等细节上存在实现差异,导致时间值解析失败,触发“invalidDateTime”提示。
- 组件版本适配问题:当前使用的ngx-mat-timepicker版本可能未针对Brave浏览器做适配,存在未被修复的浏览器兼容bug,而Chrome/Edge的更新迭代节奏与Brave不同,使得该bug仅在Brave中暴露。
- 表单验证规则不匹配:绑定的表单控件
Time的验证规则,可能与Brave下组件返回的时间格式(或隐式转换的Date对象)不兼容,而Chrome/Edge中能自动完成格式兼容转换,因此未触发错误。
相关代码
<mat-form-field appearance="outline"> <input matInput formControlName="Time" [ngxMatTimepicker]="picker1"> <ngx-mat-timepicker [defaultTime]="'11:11 AM'" #picker1></ngx-mat-timepicker> </mat-form-field>
问题截图


内容的提问来源于stack exchange,提问作者Luigi Woodhouse
相关产品推荐
相关产品推荐

