angular封装好的组件的收到原生输入框的change事件
<app-custom(change)="thingChange($event)"></app-cutom>
封装好的组件自定义了一个名为change的自定义事件,发现代码中即使把change.emit注释了,还是会接触发thingChange回调
原因是自定义封装组件中的输入框的原生change引发了冒泡
所以在输入框设置放在冒泡事件
<input matInput [(ngModel)]="m" [matAutocomplete]="minute" (input) = "onChange($event,'m')" (change) = "onChange($event,'m')" />onChange(e, field) {e.stopPropagation()e.target.value = ''this[field] = ''}
另外刚才不是清空了值,又想让输入框反显最初始的值,设置延时
onChange(e, field) {e.stopPropagation()e.target.value = ''this[field] = ''setTimeout(() => {this.init(this.defaultTime);});}