Como fazer função que adiciona ou remove elemento do array ao clicar em checkbox no angular?
Adicionar e remover linha array com checkbox
Se faz uma verificação para ver se checked está true ou false e se usa length para inserir nova linha e splice para apagar.
<input type="checkbox"
(click)="check(i)"
[checked] = "row.checked === true">
O valor de row é puxado de um array com *ngFor e declarado o indice como i.
public check(i){
if(this.array[i].checked == true){
this.array.splice(i, 1);
this.produtos[id].checked = false;
}
else{
this.array[this.array.lenght] = '';
this.array[id].checked = true;
}
}
O array é recebido por uma variável global para o objeto checked ser setado como false se ele estiver true antes, se não fica true, ou seja caso esteja false.
Para inserir a linha é informado o tamanho do array. Para ele criar a última linha, pois length mostra o tamanho do array, mas a primeira posição é zero, então o length será o mesmo da posição depois da última criada.
Quer acompanhar as novidade do site?