Angular 检查数组值并更改输入isCheck(函数)
我将true复选框值存储在数组中 然后在获得数组后,如果复选框值在数组中,我想将复选框改为true 以下是函数:Angular 检查数组值并更改输入isCheck(函数),angular,typescript,ionic-framework,Angular,Typescript,Ionic Framework,我将true复选框值存储在数组中 然后在获得数组后,如果复选框值在数组中,我想将复选框改为true 以下是函数: put(array, checkbox){ for(let ent of checkbox) { for(let entery of array) { ent.val === entery ? ent.isChecked= true : ent.isChecked= false } }
put(array, checkbox){
for(let ent of checkbox) {
for(let entery of array) {
ent.val === entery
? ent.isChecked= true
: ent.isChecked= false
}
}
}
我是如何存储复选框的:
public home_category = [
{ val: 'غرفة نوم', isChecked: false },
{ val: 'صالة', isChecked: false },
{ val: 'حوش', isChecked: false },
{ val: 'مجلس', isChecked: false },
{ val: 'غرفة سائق', isChecked: false },
{ val: 'مطبخ', isChecked: false },
{ val: 'ملحق خارجي', isChecked: false },
{ val: 'صالة طعام', isChecked: false },
{ val: 'مستودع', isChecked: false }
];
此功能不起作用:(
html:
<ion-list>
<ion-item *ngFor="let entry of home_category">
<ion-label>{{entry.val}}</ion-label>
<ion-checkbox slot="end" [(ngModel)]="entry.isChecked"></ion-checkbox>
</ion-item>
</ion-list>
{{entry.val}
如果找到任何匹配项,您应该使用break
退出for
循环
put(array, checkbox){
for(let ent of checkbox) {
for(let entry of array) {
if(ent.val === entry){
ent.isChecked = true;
break;
}
}
}
}
试着这样做:
put(array, checkbox) {
checkbox.forEach(chk => chk.isChecked = array.includes(chk.val));
}
数组是什么样子的?也共享你的html代码[“数组”]、“数组”、“数组”]、“数组”]这是数组,它与我不起作用