Búsqueda de sitios web

javascript - casilla de verificación de Angular marcada


Estoy escribiendo un código donde, si un material está aprobado, aparecerá con una marca azul junto a él sin que yo tenga que marcar la casilla. Probé el método a continuación pero todavía puedo marcar la casilla, no viene ya marcada. Así es como debería verse cuando se abre la página:

¿Qué estoy haciendo mal?

HTML :

<ng-container matColumnDef="IsApproved">
                                    <th mat-header-cell *matHeaderCellDef> Ürün Onay Durumu </th>
                                    <td mat-cell *matCellDef="let row; let i = index">
                                        <mat-checkbox
                                            [(ngModel)]="row.IsApproved" [ngModelOptions]="{standalone: true}"
                                            binary="true"(onChange)="onChecked($event)"> Approved
                                        </mat-checkbox>
                                    </td>
                                </ng-container>

Código TS:

export class ManufacturerDetailComponent {
displayedColumns: string[] = [
        "IsApproved",
    ];
    IsApproved: boolean=false;
accept(){
        this.onChecked(true)
       }
   
       onChecked(e: any){
         this.IsApproved = true;
       }
}

Respuesta #1

Usa la propiedad [checked] para mostrar el estado seleccionado al inicio.

<mat-checkbox
     [(ngModel)]="row.IsApproved" [ngModelOptions]="{standalone: true}"
      binary="true"(onChange)="onChecked($event)"
      [checked]="row.IsApproved"> Approved
</mat-checkbox>

Respuesta #2

¿Has establecido la propiedad IsApproved en true?

Suponiendo que tienes algo como dataSource

dataSource = [
 {
   "IsApproved": true, //Set this to true so that row.IsApproved will mark the checkbox as checked
   ...
 },
 ...
]