【问题标题】:Ionic2 selcted value undefinedIonic2 选择值未定义
【发布时间】:2018-05-15 13:28:34
【问题描述】:

您好,我在 ionic 2 as 中有一个选择框。

//home.html

      <ion-item>
      <ion-label>Select City</ion-label>
      <ion-select [(ngModel)]="city"  (ionChange) ="getDoors()">
      <ion-option  *ngFor="let city of cities" [value]="city.id">
       {{city.name}}</ion-option>
    </ion-select>
    </ion-item>

//home.ts
getDoors(){
 console.log(this.cities);
}

但是当我更改选项时,它会抛出一个错误,Error trying to diff '1'

谁能告诉我这里的问题

提前感谢

【问题讨论】:

  • 您的代码对我来说运行良好,您如何获得this.cities

标签: ionic2


【解决方案1】:

有两种方法可以获取所选Item的值。

方法一

//home.html

  <ion-item>
  <ion-label>Select City</ion-label>
  <ion-select [(ngModel)]="city"  (ionChange) ="getDoors($event)">
  <ion-option  *ngFor="let city of cities" [value]="city.id">
   {{city.name}}</ion-option>
</ion-select>
</ion-item>

//home.ts
getDoors($event){
 console.log($event);
}  

方法二

通过使用 ngModel

 //home.html

  <ion-item>
  <ion-label>Select City</ion-label>
  <ion-select [(ngModel)]="selectedcity"  (ionChange) ="getDoors($event)">
  <ion-option  *ngFor="let city of cities" [value]="city.id">
   {{city.name}}</ion-option>
</ion-select>
</ion-item>

//home.ts
selectedcity: city
getSelectedCity(){
 return this.selectedcity;
}

【讨论】:

    【解决方案2】:

    可能是因为您命名了您的 ngModel 城市,而您的 *ngFor 也使用了城市。可能会引起冲突。我会将您的 ngModel 更改为

    [(ngModel)]="selectedCity"
    

    【讨论】:

      猜你喜欢
      • 2015-04-26
      • 2018-01-10
      • 2017-09-07
      • 2017-07-03
      • 2016-11-03
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      相关资源
      最近更新 更多