Как добавить уникальную переменную для каждой строки в Angular amterial table?

Имеется таблица с пользователями, где строка с каждым пользователем является гиперссылкой, а также я могу выбирать c помощью комбобокса на каждой строке таблицы, на каком сайте я хочу найти данного пользователя:

ts:

url: string;
urlSite1: string = 'site1.com/user=';
urlSite2: string = 'site2.com/user='';

saveUrl(value: any, element: any, d: any) {
    const findelement = this.dataSource.data.find(x => x.nameID === element.nameID)
    if (value.nameID === 'Site1') {
      this.url = this.urlSite1
    } else if (value.nameID === 'Site2') {
      this.url = this.urlSite2

html:

    <ng-container matColumnDef="Site">
      <th mat-header-cell *matHeaderCellDef>Site</th>
      <td mat-cell *matCellDef="let element">
        <mat-form-field appearance="fill">
          <mat-label>Site</mat-label>
(selectionChange)="saveUrl($event.value,element)">
            </mat-option>
          </mat-select>
        </mat-form-field>
      </td>


<ng-container matColumnDef="nameID">
  <th mat-header-cell *matHeaderCellDef mat-sort-header> nameID </th>
  <td  mat-cell *matCellDef="let element">
    <a href="{{url + element.nameID}}"   class="m-portlet__nav-link btn m-btn m-btn--hover-accent m-btn--icon m-btn--icon-only m-btn--pill">
      {{element.nameID}}
    </a>
  </td>
</ng-container>

Проблема в том, что с помощью функции saveUrl, я передаю значение сайта(urlSite1,urlSite2) глобальной переменной "url", что в итоге приводит к тому, что все гиперссылки имеют одинаковую ссылку, независимо от выбранного сайта на каждой строке. Как сделать так, чтобы каждая строка была зависима только от того что я на ней выбрал?


Ответы (0 шт):