Ma ligne Get Sélectionné Lorsque je clique n'importe où sur la ligne, même mon bouton radio et que Slide Toggle, je souhaite que cela ne soit sélectionné que lorsque l'utilisateur clique sur la case à cocher
<ng-container matColumnDef="select"> <th mat-header-cell *matHeaderCellDef> </th> <td mat-cell *matCellDef="let row"> <mat-checkbox (change)="$event ? selection.toggle(row) : null" [checked]="selection.isSelected(row)"> </mat-checkbox> </td> </ng-container>
3 Réponses :
à utiliser (cliquez sur) = "$ Event.StopPropagation ()" sur Th et TD aide. Mais ici devrait être une manière plus logique p>
Grâce à votre exemple Stackblitz, je pouvais voir l'erreur.
Vous faites une bascule supplémentaire de la sélection dans la ligne 78 (click) = "Sélection.toggle (rangée)" code>, viens de vous en débarrasser:
<tr mat-row *matRowDef="let row; columns: displayedColumns;">
de la ligne ci-dessous:
changeSelection(row){ setTimeout(()=>{ this.selection.toggle(row); }) }
Pouvez-vous partager la collerblitz?
Utilisation $ Event.StopPropagation (): Cochez la case> Code>
@mojtabaramezani sa ne fonctionne toujours pas j'ai ajouté (cliquez) = "$ Event.StopPropagation ();" Mais même sortie
@PrashantPimpale Voici le lien Stackblitz link Stackblitz.com/edit/angular-vzqj51
@Hussain a trouvé ceci: Github.com/angular/angular/issues/2042
merci@prashantPimpale mais quand j'utilise
stoppropagation () code> sur tous les TD ma case à cocher Sélection de la ligne