我正在尝试使用其父组合中的相关数据填充组合。我将在下面留下我的代码:
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/