我正在尝试使用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倍数中检索值和字符串,并且我希望看到在纠正我的英语方面付出的最小努力,除非您确实不了解...
答案 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