angular - 带有行分组的ngx数据表垂直滚动
问题描述
我正在使用 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>
解决方案
是的,这是一个已知的错误。所以今天我发现让它工作的唯一方法是将其设置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 时身体高度自动设置为自动(在我的情况下,我希望表格填充整个外部 div 并做出响应,并且使用高度自动将其调整为表的内容。)该计算部分是在父组件 .ts 文件中完成的。
推荐阅读
- json-api - JAGQL - 为什么我需要一个 id 来进行 post call?
- user-interface - Unity,原始图像上的菲涅尔着色器
- django - Visual Studio Code 下的 Django 应用单元测试问题
- css - CSS Grid 适合内容并换行
- c# - System.TimeSpan.Parse 对 HH:MM:SS 的解析不正确,其中 HH >= 24
- python - 如何将正确的转义序列字符添加到字符串中
- ruby-on-rails - ruby on rails 后台应用程序在用户动态定义的时间自动运行作业?
- laravel - Laravel - 路线有一个正斜杠
- macos - Conda / pycups / py37:找不到符号:macOS mojave 上的 _libiconv
- sql - SQL 通配符包含该单词而不是另一个单词的一部分