如何查看离子选择组分完整列表中的选定项目?

时间:2019-03-27 13:38:34

标签: angular ionic3 angular-ngmodel ionic4 ion-select

我有一张卡片列表,并以这种结构从服务器获取json:

object1 : {
  prop1 : ''
  listOfObjects : []
}

所以object1与listOfObjects中的对象有很多关系。 我只得到与我的主要观点有联系的事物。

要查看此链接的对象,我使用离子4的离子选择组分。 而且我需要勾选所有对象中唯一的链接对象。例如。

Full list of objects
obj1
obj2
obj3
obj4

链接到主模型的对象

  • obj1
  • obj2

在离子选择中,就像这样

  • obj1 [已选择]
  • obj2 [已选择]
  • obj3
  • obj4

我如何得到它?

projectService.projectsList >>从服务器获取所有项目 sprintService.selectedSprint.projects >>将项目链接到sprint

如果使用离子选择器无法解决此问题,请给我其他选择...谢谢。

<ion-select #projects ngModel name="projects" [(ngModel)]="sprintService.selectedSprint.projects"
                    multiple="true">
                    <ion-select-option *ngFor="let project of projectService.projectsList" [value]="project">
                      {{project.name}}
                    </ion-select-option>
                  </ion-select> 

my model
export class Sprint{
    id : number;
    name : string;
    description : string;
    startDate : string;
    endDate : string;
    priority : number;
    projects : Project[]
}

export class Project{
    id : number;
    name : string;
    description : string;
    startDate : string;
    endDate : string;
}

1 个答案:

答案 0 :(得分:0)

尝试添加比较功能,然后确保选择了哪些项目。像这样的东西。

<ion-select [(ngModel)]="projects" multiple="true" [compareWith]="compareObject">
   <ion-select-option *ngFor="let p of sprintService.selectedSprint.projects" [value]="p">{{p.name}}</ion-select-option>
</ion-select>

compareObject(a: any, b: any) {
   return a.id === b.id;
}