Angular6 несколько ngFor для одной строки - Как передать два значения в одном ngFor - PullRequest
0 голосов
/ 26 октября 2018

В заголовке таблицы у меня есть динамические столбцы и функции сортировки поиска.но для определенных столбцов мне нужно отключить функцию сортировки.В таблице

<thead>
      <tr class="table-head">
        <th *ngFor="let colName of reportColHeader; let i = index">
          {{colName}}
          <i [class]="sortIcons[colName]" (click)="toggleSort(colName, i)"></i>
        </th>
      </tr>
    </thead>

В конструктор я передаю значения в виде массива.Не с сервера, он только статический

this.reportColHeader = ['ID', 'LABEL 1', 'LABEL 2', 'More'];

, поэтому результат будет выглядеть примерно так:

<tr>
 <th>ID <i></i></th>
 <th>LABEL 1 <i></i></th>
 <th>LABEL 2 <i></i></th>
 <th>More <i></i></th>
</tr>

Здесь я хочу отключить (функция сортировки) для определенного столбца.Не только последний столбец или n-й столбец.Мое предположение, возможно иметь еще один массив, как

this.reportColHeaderOptions = ['true', 'true', 'false', 'false'];

, по этим значениям можно показать или скрыть <i></i>Так как я могу передать это внутрь ngFor. Примечание: здесь я не могу использовать индекс, так как индекс изменится.но я могу следовать this.reportColHeader и this.reportColHeaderOpions в том же порядке.

1 Ответ

0 голосов
/ 26 октября 2018

Почему вы не можете использовать index?Вы можете сделать это:

    <th *ngFor="let colName of reportColHeader; let i = index">
      {{colName}}
      <i *ngIf="reportColHeaderOpions[i]=='true'"></i>
    </th>
...