У меня есть вложенный флажок ngFor. Все, что мне нужно, это установить NgModel, чтобы проверить, установлен ли флажок ??
<ion-item-group *ngFor = "let patient of Patients; let i= index">
<ion-item-divider color = "light">{{patient.conditionGroup}}</ion-item-divider>
<ion-item *ngFor = "let condition of patient.conditions; let j= index">
<ion-label>{{condition}}</ion-label>
<ion-checkbox id = "{{condition}}" [(ngModel)] = "checkStatus[i][j]" (ionChange) = "mylist(i,j,condition)" color = "danger"></ion-checkbox>
</ion-item>
</ion-item-group>
у меня такой контроллер ..
{
this.checkStatus=[];
this.Patients = [];
for(var s=0;s<this.Patients.length;s++)
{this.checkStatus[s]=[];}
}
How do i check if the checkbox is checked.. error
ERROR TypeError: Cannot read property '0' of undefined
Пациенты
[
{
"conditionGroup": "Family Care",
"conditions": [
"Head",
"Poisoning",
"Stroke"
]
}
]
в myList () мне нужно поместить отмеченные параметры в массив ..
обновить массив пациентов объекта .... и также обновить функцию mylist
Спасибо за ответ
Добро пожаловать @karthika
вам нужно сохранить условие в массиве или также нужен индекс ....
Как вы хотите хранить в массиве json, пожалуйста
«Пациент»: [{«conditionGroup»: «Семья», «Условия»: [«лихорадка», «простуда»]}]
хорошо, вы принимаете один ответ, так что нет необходимости ...





Код для контроллера
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
checkStatus = [];
Patients = [];
constructor(public navCtrl: NavController) {
this.initPatients();
}
initPatients(){
this.Patients = [
{
"conditionGroup": "Family Care",
"conditions": [
"Head",
"Poisoning",
"Stroke"
]
},
{
"conditionGroup": "Family Care",
"conditions": [
"Head",
"Poisoning",
"Stroke"
]
},
{
"conditionGroup": "Family Care",
"conditions": [
"Head",
"Poisoning",
"Stroke"
]
}
];
this.updateStatus();
}
updateStatus() {
for (var s = 0; s < this.Patients.length; s++)
{ this.checkStatus[s] = []; }
}
}
Код для HTML
<ion-header>
<ion-navbar>
<ion-title>Home</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<ion-item-group *ngFor = "let patient of Patients; let i= index">
<ion-item-divider color = "light">{{patient.conditionGroup}}</ion-item-divider>
<ion-item *ngFor = "let condition of patient.conditions; let j= index">
<ion-label>{{condition}}</ion-label>
<ion-checkbox id = "{{condition}}" [(ngModel)] = "checkStatus[i][j]" (ionChange) = "mylist(i,j,condition)" color = "danger"></ion-checkbox>
</ion-item>
</ion-item-group>
</ion-content>
я могу загрузить данные пациента, и на странице отображается флажок, но как мне установить флажок, который установлен
вам необходимо сохранить отмеченные элементы в массиве или обновить массив пациентов с обновлением проверки статуса здесь stackblitz.com/edit/ionic-fiznjd
Спасибо, мне нужно сохранить все отмеченные элементы в массиве
Пожалуйста, четко опишите свою работу.