我正在使用Angular 2 ngx-datatable。当我将垂直滚动设置为true
并初始化groupRowsBy
参数时,页面将折叠。我有很多数据,所以我需要这个虚拟滚动。
这是我的代码:
<ngx-datatable
class='material'
[rows]='rows'
[columnMode]="'force'"
[groupRowsBy]="'name'"
[headerHeight]="50"
[footerHeight]="50"
[rowHeight]="50"
[scrollbarV]="true">
<ngx-datatable-group-header [rowHeight]="50" #myGroupHeader
(toggle)="onDetailToggle($event)">
<ng-template let-group="group" let-expanded="expanded"
ngx-datatable-group-header-template>
<div style="padding-left:5px;">
<a
href="#"
[class.datatable-icon-right]="!expanded"
[class.datatable-icon-down]="expanded"
title="Expand/Collapse Group"
(click)="toggleExpandGroup(group)">
</a>
</div>
</ng-template>
</ngx-datatable-group-header>
<ngx-datatable-column name="Name">
</ngx-datatable-column>
<ngx-datatable-column name="Gender">
</ngx-datatable-column>
</ngx-datatable>
</div>
答案 0 :(得分:0)
是的,它是known bug。
因此,对于今天,我发现使其起作用的唯一方法是将scrollbarV
设置为false,然后在CSS中自己实现:
:host {
--datatable-body-height: 100%;
::ng-deep {
.datatable-body {
height: var(--datatable-body-height) !important;
overflow-y: auto;
}
}
}
请注意,角度组件具有封装,因此可以在父组件元数据中将其设置为none,或者使用:host
和::ng-deep
进入ngx-datatable的类。
我还对身体高度使用了一个变量,因为[scrollbarV]
属性设置为false时,身体高度自动设置为auto(在我的情况下,我希望表格填充整个外部div并做出响应,并使用高度自动调整到表格的内容。)该计算部分是在父组件.ts文件中完成的。