动态填充选择选项角度

时间:2018-07-12 14:25:14

标签: angular dynamic onchange ngfor

我正在尝试使用其父组合中的相关数据填充组合。我将代码留在下面:

HTML

 <select class="form-control" (ngModelChange)="onChange($event)">
  <option disabled="true">{{ txtOptDefault }}</option>
  <option *ngFor="let arrCorp of selCorp" value="{{ arrCorp.corp_id }}">
     <!-- Here I choose 2000. It prints 2000 but nothing happens -->
     {{ arrFiles.corp_id }}. {{ arrCorp.corpname }}</option>
 </select>

 <select class="form-control">
  <option disabled="true">{{ txtOptDefault }}</option>
  <option *ngFor="let arrFiles of selFiles" value="{{ arrFiles.file_id }}">
     {{ arrFiles.file_id }}. {{ arrFiles.filename }}</option>
 </select>

TS

onChange(selection) {
    if (selection === 2000) {
        this.selFiles= [{ 'file_id': id, 'filename': filename },];
    } else {
        this.selFiles = [];
    }
}

我正在尝试根据公司选择填充arrFiles,在这种情况下为2000。

如果在选择2000时添加console.log,它将正确打印结果,但是selFiles不会被填充。我想ngFor仅在页面加载时执行,如何使其与我的代码一起使用?

1 个答案:

答案 0 :(得分:2)

请使用(change)代替(ngModelChange)

    onChange(selection) {
    if (selection.target.value === 2000) {
        this.selFiles= [{ 'file_id': id, 'filename': filename },];
    } else {
        this.selFiles = [];
    }
}