无法从离子中的离子选择中获得选定的值

时间:2019-01-20 09:04:59

标签: angular typescript ionic-framework ionic2 ionic3

我正在尝试从“离子选择”中获取选定的选项“值”,但是当我从“离子选择”中选择任何值时,由于我是离子性的新手,所以我获得了未定义值。 />我无法自行对其进行排序。

HTML:

<ion-item>
   <ion-label>Quantity</ion-label>
   <ion-select [(ngModel)]="number"  
     (ionChange)="onChange(carbrand)" >
      <ion-option *ngFor="let count of quantity" 
       [value]="count" >{{count}}</ion-option>
      </ion-select>
   <!-- <ion-select [(ngModel)]="number">
      <ion-option *ngFor="let count of quantity" 
      value="count"></ion-option>
   </ion-select> -->
</ion-item>

Home.ts:

onChange(SelectedValue){ 
  console.log("Selected Quantity", SelectedValue); 
}

2 个答案:

答案 0 :(得分:1)

那是因为onChange正在发送您的汽车品牌,这可能是未定义的。 您需要做的是使用必须声明如下的类属性号:

onChange(){
    console.log("Selected Quantity", this.number); 
}

并删除汽车品牌,除非它在模板或作为类属性中具有值

答案 1 :(得分:0)

您还可以使用其他两种方法。

1-将$ event传递给函数:

HTML:

<ion-item>
    <ion-label>Quantity</ion-label>
    <ion-select [(ngModel)]="number" (ionChange)="onChange($event)" >
      <ion-option *ngFor="let count of quantity" value="count"></ion-option>
    </ion-select>
    <!-- <ion-select [(ngModel)]="number">
      <ion-option *ngFor="let count of quantity" value="count"></ion-option>
    </ion-select> -->
</ion-item>

Ts:

onChange(value){
  console.log(value);
}

2-在您的选择元素中使用ID:

HTML:

<ion-item>
    <ion-label>Quantity</ion-label>
    <ion-select #S [(ngModel)]="number" (ionChange)="onChange(S.value)" >
      <ion-option *ngFor="let count of quantity" value="count"></ion-option>
    </ion-select>
    <!-- <ion-select [(ngModel)]="number">
      <ion-option *ngFor="let count of quantity" value="count"></ion-option>
    </ion-select> -->
</ion-item>

Ts:

onChange(value){
  console.log(value);
}

希望有帮助!