Как получить всю информацию о предмете из списка иона? - PullRequest
0 голосов
/ 01 октября 2018

Я загружаю список предметов из пожарного магазина и помещаю их в список выбора ионов, проблема в том, что, поскольку у каждого элемента есть идентификатор, мне нужно получить идентификатор выбора.

Это мой кодчтобы получить элементы в контроллере.

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();

это код для отображения списка в ion-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 присваивает привязанную опцию атрибуту вGruposModel.В этом случае объектом vinculacionmodel является Gruposobj и Grupos2obj.Когда пользователь выбирает элемент ionic-select, мне нужно получить идентификатор select из элемента.Потому что я назначу этот mesa.id && mesa2.id для vinculacionmodel с Gruposobj.mesa1 && Gruposobj.mesa2.

Это vinculacionmodel:

export interface vinculacionmodel {

    id?:string;
    mesa1:string;
    mesa2:string;
    mesa3:string;
    nombrem1:string;
    nombrem2:string;
    nombrem3:string;
}

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 01 октября 2018

Если вы хотите получить ID от объекта, вы можете реализовать ionChange событие для вас ion-select и получить выделенный объект.

Пожалуйста, обратитесь к приведенному ниже коду для более подробной информации.

<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>

Событие ionChange в файле .ts:

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.

...