Angular FormControl:setValue don';t火灾输入事件
我有一个表单,其中有一个Angular FormControl:setValue don';t火灾输入事件,angular,events,angular2-formbuilder,Angular,Events,Angular2 Formbuilder,我有一个表单,其中有一个notes字段,由一个textarea限定 this.form = this.formBuilder.group({}); this.form.addControl('notes', new FormControl('')); 模板附带了一个自动调整大小指令 <textarea formControlName="notes" autosize></textarea> 但是,当我以编程方式更改FormControl的值时,不会触发input事件,
notes
字段,由一个textarea限定
this.form = this.formBuilder.group({});
this.form.addControl('notes', new FormControl(''));
模板附带了一个自动调整大小
指令
<textarea formControlName="notes" autosize></textarea>
但是,当我以编程方式更改FormControl的值时,不会触发input
事件,并且不会相应地调整textarea的大小
this.form.controls['notes'].setValue('a new value'); // not firing events
我做错了什么?快速浏览后,您拼错了autoresize,在您的情况下,它是autosize:
<textarea formControlName="notes" autosize></textarea>
您可以绑定到将在两个事件上触发的
ngModelChange
,而不是input
:
@HostListener('ngModelChange') onNgModelChange() {
console.log('ngModelChange');
}
请参见演示:虽然它在语法上可能不正确,但这是指令的名称。当用户输入一些东西时,调整大小工作得很好,这毫无意义。只有在以编程方式更改值时,才会出现问题。
@HostListener('ngModelChange') onNgModelChange() {
console.log('ngModelChange');
}