是否可以将自定义onChange函数添加到默认的FormControl?目前,我已经看到了在自定义输入上注册onchange函数的示例,但在默认的FormControl上没有注册。
答案 0 :(得分:0)
可以绑定FormControls的更改事件。对于input
框,您需要绑定到input
事件,对于dropdown
框,您需要绑定到change
事件。
<form [formGroup]="form">
<input formControlName="inputControl"
(input)="inputChange()"
placeholder="Enter a Value"/>
<select formControlName="dropdownControl"
(change)="dropdownChange()">
<option>Beetle</option>
<option>Lady Bug</option>
<option>Grasshopper</option>
<option>Firefly</option>
</select>
</form>
这是一个Plunkr,展示了事件的运作方式。
答案 1 :(得分:0)
我想补充一点,您可以使用FormControl.registerOnChange
在任何FormControl
上注册一个更改事件:
import { Component, OnInit } from '@angular/core';
import { FormControl } from '@angular/forms';
@Component({
selector: 'app-foo',
templateUrl: './foo.component.html',
styleUrls: ['./foo.component.scss']
})
export class Foo implements OnInit {
public Bar = new FormControl('');
constructor () {}
ngOnInit() {
this.Bar.registerOnChange(()=>{console.log(this.Bar.value);});
}
}
这将适用于与触发FormControl
事件的onChange
绑定的任何事物。