lo que pasa es que necesito guardar el valor del json capturado por el ion-select y no todo el json como se muestra en la imagen me muestra que selecciona todos sin importar que opción elija
pedido.html
<ion-header>
<ion-navbar>
<ion-title>Has tu pedido</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding >
<ion-item>
<ion-label>Menu</ion-label>
<ion-select [(ngModel)]="plato.checked" (ionChange)="optionsFn(item) ">
<ion-option [value]="item" *ngFor="let item of optionsPlatos" >{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
<!--Carnes-->
<ion-item>
<ion-label>Carnes</ion-label>
<ion-select [(ngModel)]="carnes.checked" (ionChange)="optionsFn(item);">
<ion-option [value]="item" *ngFor="let item of optionsCarnes" >{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
<!---Sin-->
<ion-item>
<ion-label>Sin</ion-label>
<ion-select [(ngModel)]="sin.checked" (ionChange)="optionsFn(item);">
<ion-option [value]="item" *ngFor="let item of optionsSin" >{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
<!---Poco-->
<ion-item>
<ion-label>Poco</ion-label>
<ion-select [(ngModel)]="poco.checked" (ionChange)="optionsFn(item);">
<ion-option [value]="item" *ngFor="let item of Poco" >{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
<!--Añadir-->
<ion-item>
<ion-label>Adiciona</ion-label>
<ion-select [(ngModel)]="adicionar.checked" (ionChange)="optionsFn(item)" >
<ion-option [value]="item" *ngFor="let item of Adicionar" multiple="false" >{{item.name}} {{item.price}}</ion-option>
</ion-select>
</ion-item>
<button ion-button (click)="Guardar()">Hacer pedido</button>
</ion-content>
pedido.ts
@Component({
selector: 'page-pedidos',
templateUrl: 'pedidos.html',
})
export class Pedidos {
pedidos: FirebaseListObservable<any>;
toppings:any;
priceOp
cheke
nameOp
optionsPlatos = [
{"name": "Sencillo","price": "100.00",checked: false},
{"name": "Normal","price": "200.00",checked: false},
];
optionsCarnes = [
{"name": "res","price": 100.00,checked: false},
{"name": "cerdo","price": 200.00,checked: false},
{"name": "pezcado","price": 200.00,checked: false},
{"name": "chorizo","price": 200.00,checked: false},
{"name": "morcilla","price": 200.00,checked: false},
{"name": "pollo","price": 200.00,checked: false},
];
optionsSin = [
{"name": "Sin ensalada",checked: false},
{"name": "Sin principio",checked: false},
{"name": "Sin arroz",checked: false},
{"name": "Sin tajada",checked: false},
{"name": "Sin arepa",checked: false},
];
Poco = [
{"name": "Poco arroz",checked: false},
{"name": "Poca ensalada",checked: false},
];
Adicionar = [
{"name": "Adiciona res","price": 100.00,checked: false},
{"name": "Adiciona adcerdo","price": 200.00,checked: false},
{"name": "Adiciona pezcado","price": 200.00,checked: false},
{"name": "Adiciona chorizo","price": 200.00,checked: false},
{"name": "Adiciona morcilla","price": 200.00,checked: false},
{"name": "Adiciona pollo","price": 200.00,checked: false},
{"name": "Adiciona arroz","price": 200.00,checked: false},
{"name": "Adiciona arepa","price": 200.00,checked: false},
];
plato:any= this.optionsPlatos;
carnes:any=this.optionsCarnes;
sin:any=this.optionsSin;
poco:any=this.Poco;
adicionar:any=this.Adicionar;
public optionsFn(nuevo): void {
console.log(this.plato);
let item = this.plato;
this.cheke=item.checked;
this.priceOp = item.price;
this.nameOp = item.name;
return nuevo
}
constructor(public navCtrl: NavController,public alertCtrl:AlertController, public database:AngularFireDatabase ) {
this.pedidos = this.database.list('/menu');
}
Guardar(){
this.pedidos.push({
Platito: this.plato,
Carnita: this.carnes,
Adicionar: this.adicionar,
SinCarnita: this.sin,
poco: this.poco
});
// this.pedidos.push(this.carnes);
// this.pedidos.push(this.toppings);
}
}