Angular ngx-select-dropdown:下拉选项未更新

时间:2018-12-11 08:03:12

标签: javascript angular typescript

我对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);
        }
      });
    }
  }

1 个答案:

答案 0 :(得分:0)

您应该像下面这样写

this.questionnaireDropDownOptions = [...this.questionnaireDropDownOptions, organisationalUnitQuestionnaire];

代替这个

this.questionnaireDropDownOptions.push(organisationalUnitQuestionnaire);