如何从ionselect中得到item的所有信息?
How to get all the information of the item from the ion select?
我从 Firestore
加载了一个项目列表并将它们放在离子 select 中,问题是因为每个项目都有一个 ID,我需要获取 select离子.
这是我在控制器中获取项目的代码。
this.MesasColeccion = this.mesasser.getMesaListfromFirestore();
this.MesasColeccion.snapshotChanges().subscribe(mesasLista => {
this.mesas = mesasLista.map(mesa => {
return {
nombre: mesa.payload.doc.data().nombre,
capacidad: mesa.payload.doc.data().capacidad,
estado: mesa.payload.doc.data().estado,
union:mesa.payload.doc.data().union,
id: mesa.payload.doc.id
}
});
this.mesas2 = mesasLista.map(mesa2 => {
return {
nombre: mesa2.payload.doc.data().nombre,
capacidad: mesa2.payload.doc.data().capacidad,
estado: mesa2.payload.doc.data().estado,
union:mesa2.payload.doc.data().union,
id: mesa2.payload.doc.id
}
});
});
this.MesasObservable = this.MesasColeccion.valueChanges();
这是显示列表的代码-select:
<ion-card>
<ion-card-content>
<ion-item id="mesas-select1">
<ion-label >
Mesa #1:
</ion-label>
<ion-select [(ngModel)]='Gruposobj.nombrem1' name="Mesa#1" placeholder="Selecciona la mesa" >
<ion-option *ngFor="let mesa of mesas">
{{mesa.nombre}}
</ion-option>
</ion-select>
</ion-item>
<ion-item id="mesas-select1">
<ion-label >
Mesa #2:
</ion-label>
<ion-select [(ngModel)]='Grupos2obj.nombrem2' name="Mesa#2" placeholder="Selecciona la mesa" >
<ion-option *ngFor="let mesa2 of mesas2" >
{{mesa2.nombre}}
</ion-option>
</ion-select>
</ion-item>
ngmodel
将 selected 选项分配给 GruposModel 中的属性。在这种情况下,vinculacionmodel 的对象是 Gruposobj 和 Grupos2obj。当用户 selects 一个 ionic-select 的项目时,我需要从一个项目中获取 id selected。因为我将使用 Gruposobj.mesa1 && Gruposobj.mesa2.
将此 mesa.id && mesa2.id 分配给 vinculacionmodel
这是 vinculacion 模型:
export interface vinculacionmodel {
id?:string;
mesa1:string;
mesa2:string;
mesa3:string;
nombrem1:string;
nombrem2:string;
nombrem3:string;
}
如果您想要对象的 ID,您可以在您的 ion-select
上实施 ionChange
事件并获得所选对象。
详情请参考以下代码
<ion-select [(ngModel)]='Grupos2obj.nombrem2' name="Mesa#2" placeholder="Selecciona la mesa" (ionChange)="onSelectChange($event)">
<ion-option *ngFor="let mesa2 of mesas2" [value]="mesa2['id']">
{{mesa2.nombre}}
</ion-option>
</ion-select>
.ts 文件中的 ionChange 事件:
onSelectChange(selectedValue: any) {
//Selected Value Id will get as param ==> selectedValue
//Selected Object
var item = this.mesas2.find(item => item['id'] === selectedValue);
//Position of object in array
var postion = this.mesas2.findIndex(item => item['id'] === selectedValue);
}
希望这会帮助您从 ios-select
获取您的 ID。
我从 Firestore
加载了一个项目列表并将它们放在离子 select 中,问题是因为每个项目都有一个 ID,我需要获取 select离子.
这是我在控制器中获取项目的代码。
this.MesasColeccion = this.mesasser.getMesaListfromFirestore();
this.MesasColeccion.snapshotChanges().subscribe(mesasLista => {
this.mesas = mesasLista.map(mesa => {
return {
nombre: mesa.payload.doc.data().nombre,
capacidad: mesa.payload.doc.data().capacidad,
estado: mesa.payload.doc.data().estado,
union:mesa.payload.doc.data().union,
id: mesa.payload.doc.id
}
});
this.mesas2 = mesasLista.map(mesa2 => {
return {
nombre: mesa2.payload.doc.data().nombre,
capacidad: mesa2.payload.doc.data().capacidad,
estado: mesa2.payload.doc.data().estado,
union:mesa2.payload.doc.data().union,
id: mesa2.payload.doc.id
}
});
});
this.MesasObservable = this.MesasColeccion.valueChanges();
这是显示列表的代码-select:
<ion-card>
<ion-card-content>
<ion-item id="mesas-select1">
<ion-label >
Mesa #1:
</ion-label>
<ion-select [(ngModel)]='Gruposobj.nombrem1' name="Mesa#1" placeholder="Selecciona la mesa" >
<ion-option *ngFor="let mesa of mesas">
{{mesa.nombre}}
</ion-option>
</ion-select>
</ion-item>
<ion-item id="mesas-select1">
<ion-label >
Mesa #2:
</ion-label>
<ion-select [(ngModel)]='Grupos2obj.nombrem2' name="Mesa#2" placeholder="Selecciona la mesa" >
<ion-option *ngFor="let mesa2 of mesas2" >
{{mesa2.nombre}}
</ion-option>
</ion-select>
</ion-item>
ngmodel
将 selected 选项分配给 GruposModel 中的属性。在这种情况下,vinculacionmodel 的对象是 Gruposobj 和 Grupos2obj。当用户 selects 一个 ionic-select 的项目时,我需要从一个项目中获取 id selected。因为我将使用 Gruposobj.mesa1 && Gruposobj.mesa2.
这是 vinculacion 模型:
export interface vinculacionmodel {
id?:string;
mesa1:string;
mesa2:string;
mesa3:string;
nombrem1:string;
nombrem2:string;
nombrem3:string;
}
如果您想要对象的 ID,您可以在您的 ion-select
上实施 ionChange
事件并获得所选对象。
详情请参考以下代码
<ion-select [(ngModel)]='Grupos2obj.nombrem2' name="Mesa#2" placeholder="Selecciona la mesa" (ionChange)="onSelectChange($event)">
<ion-option *ngFor="let mesa2 of mesas2" [value]="mesa2['id']">
{{mesa2.nombre}}
</ion-option>
</ion-select>
.ts 文件中的 ionChange 事件:
onSelectChange(selectedValue: any) {
//Selected Value Id will get as param ==> selectedValue
//Selected Object
var item = this.mesas2.find(item => item['id'] === selectedValue);
//Position of object in array
var postion = this.mesas2.findIndex(item => item['id'] === selectedValue);
}
希望这会帮助您从 ios-select
获取您的 ID。