Angular ControlValueAccessor和touched
我已经实现了一个日期选择器,它使用了日期、月份和年份的三个下拉列表。日期选择器是一个实现ControlValueAccessor的组件,运行良好。但是,我希望在触摸三个下拉列表中的任何一个时,控件暴露触摸 有很多关于触摸相关问题的问题,但不是这个对我来说很奇怪的具体问题,因为这是你默认想要做的事情Angular ControlValueAccessor和touched,angular,typescript,controlvalueaccessor,Angular,Typescript,Controlvalueaccessor,我已经实现了一个日期选择器,它使用了日期、月份和年份的三个下拉列表。日期选择器是一个实现ControlValueAccessor的组件,运行良好。但是,我希望在触摸三个下拉列表中的任何一个时,控件暴露触摸 有很多关于触摸相关问题的问题,但不是这个对我来说很奇怪的具体问题,因为这是你默认想要做的事情 如何暴露组件的接触状态?另外,原始、肮脏等情况如何?仅适用于触摸:如果您的组件扩展了ControlValueAnteceso,或者您有类似的组件 //declare two functions onC
如何暴露组件的接触状态?另外,原始、肮脏等情况如何?仅适用于触摸:如果您的组件扩展了ControlValueAnteceso,或者您有类似的组件
//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()
有没有可能你用的是材料?没有,不是材料?。触摸式掩码必须很简单,它是更改下拉列表时对组件中声明的函数onTouched()的唯一调用。我调用
onTouched()
,但它不会对控件的触摸状态产生任何影响。我调用onTouched()
但它对控件的触摸状态没有任何影响。我修改了customFormControl的一个旧stackblitz(它更复杂,但我有这个想法)来演示如何操作。单击customControl时,按触摸方式遮罩。在外部按钮中,标记为未触及。看中