Pessoal boa tarde, estou com um grande problema e não estou conseguindo sair do lugar. Preciso de ajuda urgente, e conto com a boa vontade dos desenvolvedores mais experientes ou não, para arrumar uma solução para este problema :
Eu tenho uma página, aonde carrego uma lista de produtos dentro de uma div, essa lista vem de um firebase OBSERVABLE. Ocorre que, como é um checkbox de multiplas seleções, eu tenho que dar ao usuário a opção de selecionar vários produtos e no final capturar essas seleções e passá-las a um array, que será enviado ao banco de dados.
Atualmente o que eu consegui foi :
produtoEscolhido(produto){
let produtosMarcados = [];
this.produtoSelecionado = produto;
produtosMarcados.push(this.produtoSelecionado.descricao);
console.log(produtosMarcados);
}
Onde, eu passo o produto como parâmetro, e crio um array, que recebe o produtoSelecionado, que é justamente o produto que o usuário marcou no checkbox. Estou passando esse evento por IONCHANGE. Mas eu só consigo passar um item para dentro do array, ou seja, a cada clique o array muda de conteúdo ao invés de acrescentar um novo conteúdo.
O meu HTML está assim :
<ion-item>
<ion-label fixed class=“label-format”>Escolha os itens</ion-label>
</ion-item>
<button ion-button color=“dark” class=“botao-pesquisar” (click)=“exibirItens()”>
<ion-icon name=“arrow-dropdown”></ion-icon>
</button>
<div *ngIf=“botaoProdutos”>
<ion-list *ngFor=“let produto of produtosLista | async”>
<ion-item>
<ion-label>{{produto.descricao}} {{produto.preco}}</ion-label>
<ion-checkbox [(ngModel)]=“selecionado” (ionChange)=“produtoEscolhido(produto)”></ion-checkbox>
<ion-input type=“number” placeholder=“Qtd” color=“dark”></ion-input>
</ion-item>
</ion-list>
<button ion-button color=“dark” (click)=“escolheProdutos()”>Escolher</button>
</div>
produtosLista: Observable<Produtos[]>MEU OBSERVABLE
produto = {} as Produtos;//MEU MODEL DE DADOS