离子选择服务器数据的问题

时间:2018-01-14 10:29:07

标签: javascript angular typescript ionic2 ionic3

我想显示来自服务器的选项。当我点击选择选项时,我在第一次点击时获得了前一个值,并且我在第二次点击时获得了更新的值。

我正在创建一个应用程序,其中用户有一个页面,可以更改选项并将该数据保存到服务器。但是当选项更新时,它会在第二次点击时进入该选项,则第一次点击时会显示上一个值。

以下是代码:

dropDownListOne() {

  this.regService.dropDownOne(this.uId)
    .subscribe((info) => {
      this.ddOneData = info;
      var array = this.ddOneData;
      var val: string = (array[array.length - 1].dropdown1);
      this.options = [];      
      this.data = val;
      Object.keys(val).forEach(option => { if (val[option]!= "") 
     this.options.push(val[option])});                      
  })

  console.log(this.options)
}

HTML:

<ion-item>
    <ion-select [(ngModel)]="option" placeholder="Select Option" (click)="dropDownListOne()">
        <ion-option *ngFor="let option of options" [value]="option">{{option}}</ion-option>
    </ion-select>        
</ion-item>     

1 个答案:

答案 0 :(得分:0)

在离子选择而不是ionChange上使用click

只要所选选项发生变化,这将触发dropDownListOne()

<ion-select [(ngModel)]="option" placeholder="Select Option" (ionChange)="dropDownListOne()">
    <ion-option *ngFor="let option of options" [value]="option">{{option}}</ion-option>
</ion-select>