угловая таблица материалов с кнопками щелчка строки и действия в качестве отдельных действий

#angular #html-table #angular-material

#угловая #html-таблица #угловой-материал

Вопрос:

Я ищу решение для поддержки щелчка по строке и действия как отдельной функции в таблице angular material.

Я пробовал следовать:

https://stackblitz.com/edit/angular-minimal-material-table-action-buttons-omoogj

Я хотел бы достичь этих функций:

  1. по щелчку строки я хотел бы перейти на другую страницу с подробным URL-адресом
  2. при нажатии на действие редактирования я хотел бы открыть другой URL-адрес.

Проблема: я не могу отличить щелчок по строке от щелчка по элементам действия, поскольку оба они попадают в одну и ту же строку.

Есть ли кто-нибудь найденные решения для этого или angular material поддерживает такое поведение?

введите описание изображения здесь

текущее поведение:

введите описание изображения здесь

Ответ №1:

Если я правильно понимаю, что вы ищете, это Event.stopPropagation() .

Попробуйте реализовать это так:

 <a mat-icon-button (click)="$event.stopPropagation()">
  <mat-icon>edit</mat-icon>
</a>
 

По умолчанию событие щелчка всплывает в дереве DOM и запускается на каждом слое.

Ответ №2:

Вы должны остановить распространение события.

     <a mat-icon-button (click)="edit($event)">
        <mat-icon>edit</mat-icon>        
      </a>
 
 
  edit(e) {
    e.stopPropagation();
    console.log('edit');
  }