[英]Is it possible to get item selected after browser reload from dropdown list when it is populated based on another select
[英]NgModel isn't reflecting the selected value from a dropdown whose values get populated based on another dropdown
加载组件时,我希望将mainTask
和mainJob
反映为下拉菜单中的一个选择, mainTask
被反映为预期,但mainJob
在UI中未更新。 但是,如果我从taskList
手动选择UI中的值, mainJob
更新mainJob
。 看起来mainJob
没有得到反映,因为jobList下拉列表是通过选择mainTask
触发的。 我该如何更正我的代码?
html文件
<mat-form-field>
<mat-select [(ngModel)]="mainTask">
<mat-option *ngFor="let task of taskList"
[value]="task"
(click)="getJobs()">
{{task}}
</mat-option>
</mat-select>
</mat-form-field>
<mat-form-field>
<mat-select [(ngModel)]="mainJob">
<mat-option *ngFor="let job of jobList"
[value]="job">
{{job}}
</mat-option>
</mat-select>
</mat-form-field>
ts文件
ngOnInit(): void {
this.taskList = ['task1','task2','task3'];
this.jobList = ['job1','job2','job3'];
this.mainTask = 'task2';
this.mainJob = 'job2';
}
getJobs():void {
if(mainTask){
const jobIndex = this.taskList.indexOf(this.mainTask);
this.jobList.splice(0, jobIndex);
}
}
是的,仅在调用getjobs()函数时才选择mainJob,
您可以在类似这样的组件中为mainJob分配一个值
mainJob:string = 'job2';
而不是在ngOnIt中。 在这里检查这个punker
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.