J'utilise Angular Material pour créer mes panneaux basculants. Je veux toujours que mon panneau se développe et se contracte lorsque je clique sur la flèche, mais pas lorsque je clique n'importe où dans l'en-tête du panneau parce que je veux ajouter une case à cocher en haut. Actuellement, lorsque je clique sur ma case à cocher, l'événement de basculement du panneau se déclenche lorsque je clique sur la case à cocher. L'événement "change" de la case à cocher se déclenche toujours par la suite.
Je ne vois pas d'inconvénient à ce que le panneau ne bascule que lorsque l'on clique sur sa flèche, mais comment empêcher le basculement du panneau de se déclencher lorsque l'on clique n'importe où dans le haut de l'écran ?
HTML
<mat-expansion-panel #panel
(opened)="togglePanel()"
(closed)="togglePanel()">
<mat-expansion-panel-header>
<mat-panel-title>
<mat-checkbox (change)="onCheckChanged($event)">
<label>Options 1</label>
</mat-checkbox>
</mat-panel-title>
<mat-panel-description></mat-panel-description>
</mat-expansion-panel-header>
</mat-expansion-panel>
TypeScript
togglePanel() {
// this event fires before the onCheckChanged event
}
onCheckChanged(event: MatCheckboxChange) {
// this event fires after the togglePanel event
}