首页 > 解决方案 > Angular 材质自定义输入 - 从外部调用 setValidator 时移除内部验证器

问题描述

我构建了一个支持角度材料的自定义日期选择器 + 应该可以很好地与角度反应形式一起使用。

(你也可以从 npm 安装它npm install @covercy/datepicker:)

代码在github上:

https://github.com/Roitr/angular-triple-input-datepicker/blob/master/projects/datepicker/src/lib/datepicker-triple.component.ts

该组件有一些内部验证器(例如,它验证无效日期),它们在 OnInit 方法中设置。

问题是,如果我从外部(使用组件时)更改输入元素上的验证器,例如:setValidators(Validators.required),它会删除内部验证器。

设置内部验证器的正确位置在哪里?我认为每次有人从外部设置验证器时我都应该设置它们,但我没有找到可以为此收听的事件..

标签: angular

解决方案


我认为目前在 Angular 中是不可能的。这有几个解决的问题。这里是关于实现这个特性的困难的解释。


推荐阅读