无法分配给'value',因为它是常量或只读属性.Angular 6

Abx*_*Abx 9 form-control angular

我正在尝试使用FormControl将值设置为Mat输入

<input name="contact" matInput [matAutocomplete]="contactAuto"  [formControl]="myControl" #contact (blur)="validateInput($event, contact.value)"  >
Run Code Online (Sandbox Code Playgroud)

在我的Ts

myControl = new FormControl();
this.myControl.value = 'contact';
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,但我收到一个错误

Cannot assign to 'value' because it is a constant or a read-only property
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么吗?

rpe*_*kov 9

不允许像你正在尝试那样设置价值.您需要使用setValue或patchValue方法.

https://angular.io/api/forms/FormControl#setvalue

https://angular.io/api/forms/FormControl#patchvalue

对于FormControl,它们是相同的,但这些方法对于FormGroup的工作方式不同.


Ami*_*ani 5

那不是设定价值的方法。正确的设置方法是使用setValue()patchValue()

this.myControl.setValue('contact');
Run Code Online (Sandbox Code Playgroud)