angular - Angular matDatepicker 禁用日期转换
问题描述
我想为 MatDatepicker 创建一个 simpleDateFormatterDirective 等:当我将简单的 4 或 6 个数字写入日历时,指令将其替换为真实日期
0123 -> 2021-01-23 200415 -> 2020-04-15
但是当我尝试用模糊捕捉它时,matDatePicker 尝试将它转换为新的 Date(inputvalue) 所以我捕捉到 0123 - (123-01-01) 那么我可以禁用 datepicker 的这个功能还是有其他想法来实现这个功能?
<mat-form-field appearance="fill" class="example-form-field">
<mat-label>Choose a date</mat-label>
<input simpleDateFormatterDirective matInput [matDatepicker]="datepicker">
<mat-datepicker-toggle matSuffix [for]="datepicker"></mat-datepicker-toggle>
<mat-datepicker #datepicker>
<mat-datepicker-actions>
<button mat-button matDatepickerCancel>Cancel</button>
<button mat-raised-button color="primary" matDatepickerApply>Apply</button>
</mat-datepicker-actions>
</mat-datepicker>
</mat-form-field>
解决方案
您可能需要创建一个 custom DateAdapter
,它负责解析和格式化材料组件中的日期。
然后,您需要在应用程序的某个级别提供该适配器 - 无论是根目录还是组件内部。
您可以使用自定义逻辑扩展NatvieDateAdapter
您需要的标准和覆盖方法。
您可能还必须提供MAT_DATE_FORMATS
您的用例 - 除非您在适配器中对它们进行硬编码。
推荐阅读
- python - PyPI 和本地开发人员之间需要不一致的导入语句
- c# - GenerateResource 任务没有创建资源文件
- arrays - React 钩子替换字符串中的文本,并存储值
- discord - 如何提及用户
- apache-kafka - 带有压缩过程的kafka压缩
- javascript - 为什么即使在 React JS 中更改状态后,我的代码也没有从 API 获取更新的详细信息?
- r - R - 查找顺序相反的单词的重复项
- python - 如示例中所示,如何在 python 2.7 中展开字典列表?
- html - 隐藏边框是 CSS 中出现的滚动条
- javascript - let 范围如何在 JavaScript 的 for 循环中工作