onRowSelect / onRowClick не запускается вообще.- основной стол - угловой - PullRequest
0 голосов
/ 05 июля 2019

Мне действительно нужно перейти к другому компоненту с данными, выбранными по щелчку строки.Я использовал р-таблицу, чтобы выполнить то же самое.Я понятия не имею, почему.onRowClick / onRowSelection вообще не запускается. Я даже добавил строку console.log, чтобы увидеть, вызван ли метод хотя бы, но нет.Даже [(выбор)] не работает хорошо.С p-таблицей проблем нет, поскольку нумерация страниц и глобальные фильтры на самом деле работают хорошо, и в этом нет никаких проблем.Но это то, что я не мог понять, почему.Основная версия "primeng": "^7.1.3"

<p-table [columns]="cols" [value]="companiesList"  selectionMode="single"
   (onRowClick)="handleSelect($event)" 
  >
      <ng-template pTemplate="header" let-columns>
          <tr>
              <th *ngFor="let col of columns" [pSortableColumn]="col.field">
                  {{col.header}}
                  <p-sortIcon [field]="col.field"></p-sortIcon>
              </th>
          </tr>
      </ng-template>
      <ng-template pTemplate="body" let-rowData let-columns="columns">
          <tr>
              <td *ngFor="let col of columns">
                      {{rowData[col.field]}}
              </td>
          </tr>
      </ng-template>
  </p-table>

1 Ответ

1 голос
/ 05 июля 2019

Возможное альтернативное решение: в теге <tr> добавьте (click)="handleSelect(rowData)" и удалите обработчик (onRowClick).

Обоснование:

  • Если привязка (onRowClick) не работает, выполните привязку к другому событию.
  • rowData из вашей итерации let-rowData содержит информацию из строки, которая, по-видимому, является информацией, которую вам нужно передать другому компоненту.
  • В прошлом этот подход был успешным для меня, когда p-таблица ловила, когда пользователь нажимает на строку.
...