angular - ControlValueAccessor 和触摸

标签 angular typescript controlvalueaccessor

我已经使用日期、月份和年份的三个下拉菜单实现了一个日期选择器。日期选择器是一个实现了 ControlValueAccessor 并且运行良好的组件。但是,我希望当三个下拉菜单中的任何一个被触摸时,控件都被触摸。

有很多关于 touched 相关问题的问题,但不是这个对我来说似乎很奇怪的特定问题,因为它是您默认情况下想要做的事情!

如何公开组件的触摸状态?此外,原始、肮脏等怎么样?

最佳答案

仅适用于 touched:如果您的组件扩展了 ControlValueAntecesor,那么您有类似的东西

//declare two functions onChange and onTouched
onChange;
onTouched;
//register onChange and onTouched
registerOnChange( fn : any ) : void {
    this.onChange = fn;
}

registerOnTouched( fn : any ) : void {
    this.onTouched = fn;
}

您唯一需要的是,当您更改一个下拉菜单调用该函数时

this.onTouched()

关于angular - ControlValueAccessor 和触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54027031/

相关文章:

Angular Material : input clear button icon lay-out fails

angular - 如何在 Angular 2 中将组件设置回初始状态

javascript - 如何将 html 字符串(html 标签)显示为文本区域中的内容?

angular - 如何使用 ControlValueAccessor Angular 在自定义输入中使用指令

angular - 如何创建自定义响应式表单元素?

angular - 如何在页面上多次重用自定义 Angular2 组件?

angular - TS2440 : Import declaration conflicts with local declaration of 'ProtractorPlugin'

带有 CD 类的 angular2 变化检测

typescript - typescript 参数名称中的问号是什么

angular - 嵌套的自定义 FormArray 组件不与具有 FormArrayName 的子表单绑定(bind)