我对angular并不陌生,所以这可能是一个非常简单的问题。我正在使用ngx-select-dropdown(一个下拉控件)。页面上有两个下拉菜单控件,当第一个下拉菜单更改时,第二个下拉菜单应更新下拉菜单选项。
可以通过rest api正确下载新的下拉选项。我的问题是用户界面未更新。当我在ngOnInit中添加下拉选项时,它将起作用。但是当我稍后添加它们时, 它不起作用。
这将起作用:
scala> val df = Seq("2", "1", null).toDF("x")
df: org.apache.spark.sql.DataFrame = [x: string]
scala> df.orderBy($"x".asc_nulls_last).show
+----+
| x|
+----+
| 1|
| 2|
|null|
+----+
不是:
ngOnInit() {
this.apiService.getAllActivities().subscribe(response => {
this.activities = response;
this.activityDropDownOptions = response;
});
}
HTML页面:
activityDropDownSelectionChanged(event: any) {
this.questionnaireDropDownOptions = []
for (let activity of event.value) {
this.apiService.getActivity(activity.id).subscribe(response => {
for (let organisationalUnitQuestionnaire of response.organisationalUnitQuestionnaires) {
this.questionnaireDropDownOptions.push(organisationalUnitQuestionnaire);
}
});
}
}
答案 0 :(得分:0)
您应该像下面这样写
this.questionnaireDropDownOptions = [...this.questionnaireDropDownOptions, organisationalUnitQuestionnaire];
代替这个
this.questionnaireDropDownOptions.push(organisationalUnitQuestionnaire);