angular - 动态填充选择选项 Angular

标签 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 仅在页面加载时执行,我怎样才能让它与我的代码一起工作?

最佳答案

请使用(change)代替(ngModelChange)

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

关于angular - 动态填充选择选项 Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51308165/

相关文章:

javascript - 如何 "mount"Angular 2 模块在路由层次结构中某个点的路由

python - Selenium Web 在动态内容和隐藏数据表上使用 Beautiful Soup 进行抓取

javascript - 如何绑定(bind)国家/地区更改国际电话输入

javascript - Rails 5 - 由JS填充的hidden_​​field_tag未通过:onchange提交表单

javascript - 边缘、悬停和单击

css - 如何在 SASS 中使用 Angular 4

angular - 使用 Ionic3 时出现“不支持”错误

c++ - 使用 dlopen 加载动态库时抛出 undefined symbol

java - 向 JPA 实体添加动态属性

javascript - 更改选择框的 CSS 样式表 src onChange