设置默认值以使用反应形式进行选择

Posted

技术标签:

【中文标题】设置默认值以使用反应形式进行选择【英文标题】:Set default value to select with reactive forms 【发布时间】:2020-01-15 00:01:44 【问题描述】:

我有一些这样的功能:

cancel(): void 
  this.form.reset();
  this.router.navigate([],  queryParams:  activeOnly: false  );

html 中是这样的:

<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>

我遇到的问题是当我打电话时

  this.form.reset();

用表单清除所有值,甚至没有显示第一个,因为我使用的第一个选项就像占位符

它应该是这样的

这就是它的作用

【问题讨论】:

只需在[value]="'Your default value'"之类的第一个选项上添加值属性并删除选定的属性 我不知道角度,但在 jquery 中我们可以通过遵循 link 来实现 【参考方案1】:

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

试试这样:

<option [selected]="!form.get('processType').value" [value]="null" disabled>
    'type' | translate
</option>

【讨论】:

以上是关于设置默认值以使用反应形式进行选择的主要内容,如果未能解决你的问题,请参考以下文章

NSUserDefaults - 我设置的默认值以某种方式被删除[关闭]

您如何修改默认值以接受 Y 或 N 而不仅仅是 SQL 中的 Y

如何在反应形式中采用默认值

角反应形式,输入的默认值

Knockout + Select2 - 设置默认值?

如何将默认反应上下文值设置为来自 Firestore 的数据?