Angular 将默认值设置为与被动窗体一起选择

Angular 将默认值设置为与被动窗体一起选择,angular,angular-reactive-forms,Angular,Angular Reactive Forms,我有一些类似这样的功能: cancel(): void { this.form.reset(); this.router.navigate([], { queryParams: { activeOnly: false } }); } <select class="form-control-sm" id="select-process-type" formControlName="processType"> <option [selected]="!form.g

我有一些类似这样的功能:

cancel(): void {
  this.form.reset();
  this.router.navigate([], { queryParams: { activeOnly: false } });
}
<select class="form-control-sm" id="select-process-type" formControlName="processType">
    <option [selected]="!form.get('processType').value" disabled>
        {{'type' | translate}}
    </option>
    <option [value]="'1'" [innerHTML]="'1' | translate">
    </option>
    <option [value]="'2'" [innerHTML]="'2' | translate">
    </option>
    <option [value]="'3'" [innerHTML]="'3' | translate">
    </option>
</select>
<option [selected]="!form.get('processType').value" [value]="null" disabled>
    {{'type' | translate}}
</option>
在html中,如下所示:

cancel(): void {
  this.form.reset();
  this.router.navigate([], { queryParams: { activeOnly: false } });
}
<select class="form-control-sm" id="select-process-type" formControlName="processType">
    <option [selected]="!form.get('processType').value" disabled>
        {{'type' | translate}}
    </option>
    <option [value]="'1'" [innerHTML]="'1' | translate">
    </option>
    <option [value]="'2'" [innerHTML]="'2' | translate">
    </option>
    <option [value]="'3'" [innerHTML]="'3' | translate">
    </option>
</select>
<option [selected]="!form.get('processType').value" [value]="null" disabled>
    {{'type' | translate}}
</option>
它用表单清除所有值,甚至不显示第一个,因为我使用的第一个选项类似于占位符

这是它应该看起来的样子

这就是它的作用

在默认选项中设置
[value]=“null”

试着这样做:

cancel(): void {
  this.form.reset();
  this.router.navigate([], { queryParams: { activeOnly: false } });
}
<select class="form-control-sm" id="select-process-type" formControlName="processType">
    <option [selected]="!form.get('processType').value" disabled>
        {{'type' | translate}}
    </option>
    <option [value]="'1'" [innerHTML]="'1' | translate">
    </option>
    <option [value]="'2'" [innerHTML]="'2' | translate">
    </option>
    <option [value]="'3'" [innerHTML]="'3' | translate">
    </option>
</select>
<option [selected]="!form.get('processType').value" [value]="null" disabled>
    {{'type' | translate}}
</option>

{{'type'| translate}}

只需在第一个选项上添加value属性,如
[value]=“'Your default value'”
并删除选中的attTribute我不知道角度,但在jquery中,我们可以通过以下方法实现