Как использовать Date Pipes для некоторых столбцов в таблице PrimeNG с динамическим числом столбцов c - PullRequest
1 голос
/ 08 января 2020

Я пытаюсь отобразить динамическое число столбцов c, а также пытаюсь использовать <ng-template ..., чтобы указать способ визуализации ячейки. Но в моем наборе данных есть некоторые поля, относящиеся к типу даты. Я хочу отформатировать эти поля, используя конвейер даты.

html file

<ng-template pTemplate="body" let-rowData let-columns="columns">
      <tr>
        <td *ngFor="let col of columns" [style.width]="col.width">
          {{rowData[col.field]| col?.pipe}}
        </td>
      </tr>
</ng-template>

машинописный файл (В массиве cols я хотел бы добавить другое поле, подобное этому.)

 this.cols = [
      { field: 'no', header: 'No.', width: '50px',pipe:null },
      { field: 'createdDate', header: 'createdDate', width: '175px', pipe: 'date: \'dd/MM/yyyy\''},
      { field: 'deviceName', header: 'Device Name', width: '150px'}
    ];

Я пробовал это, и он дает мне ошибки синтаксического анализа шаблона.

Ошибка ОШИБКИ: Uncaught (в обещании): Ошибка: Ошибки синтаксического анализа шаблона:

1 Ответ

1 голос
/ 08 января 2020

Попробуйте вот так

this.cols = [
          { field: 'no', header: 'No.', width: '50px',pipe:null },
          { field: 'createdDate', header: 'createdDate', width: '175px', data: true , format: `dd/MM/yyyy`},
          { field: 'deviceName', header: 'Device Name', width: '150px'}
        ];

шаблон

<ng-template pTemplate="body" let-rowData let-columns="columns">
      <tr>
        <td *ngFor="let col of columns" [style.width]="col.width">   
          {{ col.data ? (rowData[col.field]| date : col.format) : rowData[col.field] }}
        </td>
      </tr>
</ng-template>

демо ??

...