首页 > 解决方案 > Angular 6 - 反应式表单选择选项 - 数据库数据与选择列表选项

问题描述

我有一个选择选项字段,它应该显示数据库中 formControlName 字段的值,并且应该提供一个可供选择的选项列表。

在这种情况下,不再是业务部门的项目经理。他将不会列在用于选择列表中可用选项列表的对象中,因为他已被转移到另一个业务部门。不过,他的信息仍应显示在 formContralName 字段中。

他的信息在 formControlName 字段中可用。我使用文本输入字段来验证信息是否可用并显示。

该列表的来源是一个表,该表通过 SQL Server Integration Services (SSIS) 任务从记录在 ERP 系统中的信息中更新。因此,公司内部的任何传输都将由 SSIS 同步到系统。

此表单用于创建新记录、读取和更新现有记录。

如何在使用选择选项字段时继续显示历史信息(先前选择的项目经理),同时提供当前选项列表?

我期待收到您的来信。

<label for="selectSpm" class="col-sm-5 col-form-label col-form-label-sm oms-label">SPM<i class="fa fa-question-circle" [popover]="popoverSpm" Preconfigured popover></i></label>
<select class="form-control form-control-sm col-sm-7 oms-textual" style="font-size: 12px;" id="selectSpm" formControlName="senior_proj_man" title="Select the SPM from the list">
    <option value="" disabled>Select SPM</option>
    <option *ngFor="let spm of spms" [value]="spm.spm">{{ spm.dir + " - " + spm.spm }}</option>
</select>

标签: angular6

解决方案


您必须使(先前选择的项目经理)成为 API 的一部分,并且当您查看此表单时应该调用此 API,并且在构建表单时在您的组件中您应该执行以下操作

this.API_SERVICE.METHOD().subscribe(data => {
  if(data is available) {
    this.buildform(data);
  }
});

buildform(data) {
YOUR_FORM = new FormGroup({
  senior_proj_man: new FormControl(data.(previously selected project manage));
 })

}

推荐阅读