无法分配给“值”,因为它是常量或只读属性。角度6

时间:2018-08-02 09:01:44

标签: angular form-control

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

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

在我的Ts

myControl = new FormControl();
this.myControl.value = 'contact';

上面的代码工作正常,但出现错误

Cannot assign to 'value' because it is a constant or a read-only property

我在这里想念东西吗?

3 个答案:

答案 0 :(得分:8)

不允许像您尝试的那样设置值。您需要使用setValue或patchValue方法。

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

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

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

答案 1 :(得分:4)

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

 @media only screen and (max-width: 600px) {
.info-container {
    position: relative;
    top:12px;
    left:5px;
    }
    .topSection {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
}

答案 2 :(得分:0)

根据联系表格(使其手动无效),该表格对我有效this.contactForm.setErrors({ valid: false });