如何以离子选择倍数访问离子选项的值

时间:2019-04-21 05:12:45

标签: angular firebase ionic4

我正在尝试使用ion-select倍数来获取选定的值及其字符串。

以前,我使用ion-checkbox尝试过此方法并有效

<ion-item *ngFor="let day of alarm.alarmDays">
        <ion-label>{{day.name}}</ion-label>
        <ion-checkbox [(ngModel)]="day.value"></ion-checkbox>
</ion-item>

但是,当我尝试以下操作时,它并没有产生奇迹。

<ion-item>
  <ion-label>Days</ion-label>
     <ion-select multiple="true" >  
      <ion-select-option *ngFor="let day of alarm.alarmDays" name="day.name" [(ngModel)]="day.value">{{day.name}}</ion-select-option>
     </ion-select>
</ion-item>

出现此错误

ERROR CONTEXT
ERROR TypeError: Cannot read property 'value' of undefined

这是对象

alarm: Alarm = {
    alarmEnabled: true,
    alarmCreatedBy: "",
    alarmTitle: "",
    alarmTime: "",
    alarmDays:  [
         {
            name: 'Monday',
            value: false,
         },
         {
            name: 'Tuesday',
            value: false,
         },
         {
            name: 'Wednesday',
            value: false,
         },
         {
            name: 'Thursday',
            value: false,
         },
         {
            name: 'Friday',
            value: false,
         },
         {
            name: 'Saturday',
            value: false,
         },
         {
            name: 'Sunday',
            value: false,
         },
       ]
    };

我希望能够从ion-select倍数中检索值和字符串,并且我希望看到在纠正我的英语方面付出的最小努力,除非您确实不了解...

1 个答案:

答案 0 :(得分:1)

在html(主页)中:     

<ion-item *ngFor="let x of testData">
        <ion-label>{{x.name}}</ion-label>
        <ion-checkbox [checked]="x.value" ></ion-checkbox>
</ion-item>


<ion-item>
  <ion-label>Gender</ion-label>
  <ion-select multiple="true">
    <ion-option *ngFor="let x of testData" [selected]="x.value"> {{x.name}} </ion-option>
  </ion-select>
</ion-item>
</ion-content>

在组件(主页)中:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  public testData;

  constructor(public navCtrl: NavController) {
    this.testData = [
      {
        name: "a", 
        value: true
      }, 
      {
        name: "b", 
        value: true
      }
    ];
  }
}

正在运行的演示:link