gpt4 book ai didi

javascript - Angular 2 Material如何设置一个字段不变

转载 作者:行者123 更新时间:2023-11-30 14:49:13 25 4
gpt4 key购买 nike

我将 Material 用于表单,在发布数据后,我使用 ts 文件中的 form.reset() 函数重置了所有输入字段。此函数清除所有输入字段,但随后所有输入字段变为红色,因为它们全部被触摸且为空。

我怎样才能让它们在 ts 文件中保持不变?这是 html 代码:

<mat-form-field>
<mat-select [formControl]="environment" placeholder="Environment">
<mat-option *ngFor="let environment of environments" [value]="environment">
{{ environment }}
</mat-option>
</mat-select>
<mat-error *ngIf="environment.hasError('required')">
* Environment is <strong>required</strong>
</mat-error>
</mat-form-field>

这是ts代码:

this.http
.post(url, form.value.item, {
headers: new HttpHeaders().set('Content-Type', 'application/json')
})
.subscribe(data => {
form.reset();
},
err => {
console.log(err);
}
);

最佳答案

这是一个已知的 issue 。该问题中提出的一种解决方法是使用 ngForm指令并使用该指令重置表单:

<form [formGroup]="myFormGroup" (ngSubmit)="save()" #myForm="ngForm">

组件:

@ViewChild('myForm') myForm; 

// ...

.subscribe(data => {
this.myForm.resetForm();
}

StackBlitz

关于javascript - Angular 2 Material如何设置一个字段不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48439729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com