swimlane/ngx-datatable 更新到 16.0.3 后不起作用(列似乎是问题所在)
swimlane/ngx-datatable doesn't work after update to 16.0.3 (columns seem to be the problem)
所以我已将我的应用程序更新到 angular 9,并将 ngx-datatable 从版本 16.0.2 更新到 16.0.3。但现在我的专栏留空了。以前的小版本一切正常。没有错误,没有警告。这是我用来填充专栏的简化代码。
component.ts:
columns = [
{ name: 'Vertragsnummer', prop: 'VertragsNr', flexGrow: 6 },
{ name: 'Risiko', prop: 'RisikoAllgemein', flexGrow: 10 },
{ name: 'Sparte', prop: 'Sparte', flexGrow: 5 },
{ name: 'Gesellschaft', prop: 'Vu', flexGrow: 10 },
{ name: 'Ablauf', prop: 'Vertragsablauf', flexGrow: 4 }
];
component.html:
<ngx-datatable
*ngIf="columns"
class="material afn-flat-table"
#datatable
[rows]="(rows$ | async) || []"
[columns]="columns"
[columnMode]="'flex'"
[headerHeight]="60"
[footerHeight]="30"
[rowHeight]="30"
[count]="liste.length"
[limit]="limit"
[selected]="selected"
[selectionType]="'row'"
[messages]="messages"
(select)="onSelect($event)"
(sort)="onSort($event)"
>
<div *ngFor="let column of columns">
{{asdf(column)}}
<ngx-datatable-column prop="{{ column.prop }}" name="{{ column.name }}" [flexGrow]="column.flexGrow">
<ng-template let-column="column" let-sort="sortFn" ngx-datatable-header-template>
<div name="firsrowheader" (click)="sort()">
<span *ngIf="sorts[0]?.prop == column.prop">
<mat-icon class="fas asf-gridSortIcon" [ngClass]="{ 'fa-sort-up': sorts[0].dir === 'asc', 'fa-sort-down': sorts[0].dir === 'desc' }">
</mat-icon>
</span>
<label i18n style="height:10px;cursor:pointer" class="columnlabel">{{ column.name }}</label>
</div>
</ng-template>
</ngx-datatable-column>
</div>
</ngx-datatable>
我正在记录列,它们都是正确的,但没有呈现,所有这些结果都是空的 table:
我在这里省略了很多代码,只包含了我认为可能是问题的一部分。我没有发现列规范发生变化的任何迹象。行在那里,否则我不会在第一行看到图标。
如果您需要更多信息,请询问。
据我所知还不支持angular 9. 当我收到与 ngx-datatable 不兼容的警告时,我停止了我们项目的升级。
更好的问题是他们计划何时发布兼容性更新!已经几个月了。
ETA:4 天后他们开始发布一些新版本! 17.0.0 严格兼容 angular 9.
所以我已将我的应用程序更新到 angular 9,并将 ngx-datatable 从版本 16.0.2 更新到 16.0.3。但现在我的专栏留空了。以前的小版本一切正常。没有错误,没有警告。这是我用来填充专栏的简化代码。
component.ts:
columns = [
{ name: 'Vertragsnummer', prop: 'VertragsNr', flexGrow: 6 },
{ name: 'Risiko', prop: 'RisikoAllgemein', flexGrow: 10 },
{ name: 'Sparte', prop: 'Sparte', flexGrow: 5 },
{ name: 'Gesellschaft', prop: 'Vu', flexGrow: 10 },
{ name: 'Ablauf', prop: 'Vertragsablauf', flexGrow: 4 }
];
component.html:
<ngx-datatable
*ngIf="columns"
class="material afn-flat-table"
#datatable
[rows]="(rows$ | async) || []"
[columns]="columns"
[columnMode]="'flex'"
[headerHeight]="60"
[footerHeight]="30"
[rowHeight]="30"
[count]="liste.length"
[limit]="limit"
[selected]="selected"
[selectionType]="'row'"
[messages]="messages"
(select)="onSelect($event)"
(sort)="onSort($event)"
>
<div *ngFor="let column of columns">
{{asdf(column)}}
<ngx-datatable-column prop="{{ column.prop }}" name="{{ column.name }}" [flexGrow]="column.flexGrow">
<ng-template let-column="column" let-sort="sortFn" ngx-datatable-header-template>
<div name="firsrowheader" (click)="sort()">
<span *ngIf="sorts[0]?.prop == column.prop">
<mat-icon class="fas asf-gridSortIcon" [ngClass]="{ 'fa-sort-up': sorts[0].dir === 'asc', 'fa-sort-down': sorts[0].dir === 'desc' }">
</mat-icon>
</span>
<label i18n style="height:10px;cursor:pointer" class="columnlabel">{{ column.name }}</label>
</div>
</ng-template>
</ngx-datatable-column>
</div>
</ngx-datatable>
我正在记录列,它们都是正确的,但没有呈现,所有这些结果都是空的 table:
我在这里省略了很多代码,只包含了我认为可能是问题的一部分。我没有发现列规范发生变化的任何迹象。行在那里,否则我不会在第一行看到图标。
如果您需要更多信息,请询问。
据我所知还不支持angular 9. 当我收到与 ngx-datatable 不兼容的警告时,我停止了我们项目的升级。
更好的问题是他们计划何时发布兼容性更新!已经几个月了。
ETA:4 天后他们开始发布一些新版本! 17.0.0 严格兼容 angular 9.