(ionChange)在Ionic 3中不发射数据

时间:2019-03-21 08:59:57

标签: angular ionic-framework ionic3

HTML

<ion-select  *ngIf="filter_type" (ionChange)="choose_type('travels',travels.id,$event)"   >
                    <ion-option *ngFor="let travels of filter_type"  >{{travels.name}}</ion-option>
                </ion-select>

Ts

 choose_type(type: string, value: any, event: any) {
    let index;

    if (event.checked === true)
     {

        this.user_filter[type].push(value);
       }
 else
      {

        index = this.user_filter[type].indexOf(value);
        this.user_filter[type].splice(index, 1);
    }

}

我正在尝试传递travels.id,但出现错误 'TypeError:无法读取未定义'的属性'id'  在这里,我将附加filter_type数组,

0: {id: "21", name: "AMC"}
1: {id: "151", name: "VBC"}
2: {id: "329", name: "GFS."}
3: {id: "258", name: "Gu"}

2 个答案:

答案 0 :(得分:0)

也许您可以尝试在ion-option上使用ionSelect。

在离子选择中未定义旅行,因为您的* ngFor不适用于此级别。

<ion-option *ngFor="let travels of filter_type" (ionSelect)=yourFunction >{{travels.name}}</ion-option>

答案 1 :(得分:0)

谢谢你们的评论。让我发表正确答案。之所以出现这个问题,是因为我忘记将价值放在选项区域中。

  <ion-select  id="filter3" *ngIf="filter_type.travels" (ionChange)="choose_type('travels',$event)" multiple="true">
                        <ion-option id="filter3"  *ngFor="let travels of filter_type.travels " [value]="travels.id">{{travels.name}}</ion-option>
                </ion-select>
            </ion-item>