typescript - Hämta markerad status vid klickhändelse i Angular Material
Jag har ett kantigt element
<mat-checkbox class="btn-block"
labelPosition="before"
(change)="showOptions($event)"
(click)="makeJSON($event.checked,i,j,k)">
</mat-checkbox>
Här gör onchange (som faktiskt ger statusen för kassan) någon annan uppgift och jag vill ha statusen för kryssrutan (antingen markerad eller avmarkerad) vid klickhändelsen.
Jag har redan försökt titta över objektet som skapades av klicket och det har inte något klickobjekt inuti, så hur kan jag upptäcka om kryssrutan är markerad eller inte.
Svar #1
Du kan använda
(change)="showOptions($event)"
(change)="makeJSON($event.checked,i,j,k)">
eller
(change)="showOptions($event);makeJSON($event.checked,i,j,k)">
Svar #2
Med ditt (change)="showOptions($event)" kan du enkelt få statusen så här:
showOptions(event:MatCheckboxChange): void {
console.log(event.checked);
}
Svar #3
En annan lösning kan vara att du kan använda en mallreferensvariabel med kryssruta och skicka den variabeln till metodparametern.
<mat-checkbox #checkbox (change)='showOptions(checkbox.checked)' value=''>all</mat-checkbox>
Här #checkbox referensen håller alla checkbox-relaterade egenskaper (som value, checked etc.). checkbox.checked detta kommer att ge det aktuella tillståndet för checkboxen med true och false.
