PrimeNG TreeTable行高调整问题:无法缩小行高,求解决方法
解决PrimeNG TreeTable行高无法缩小的问题

用户代码:
<p-treeTable [value]="files" [columns]="cols" selectionMode="single" [metaKeySelection]="metaKeySelection" [(selection)]="selectedNode" dataKey="name" [scrollable]="true" class="tableStyle ui-treetable-sm"> <ng-template pTemplate="header" let-columns> <tr> <th *ngFor="let col of columns"> {{ col.header }} </th> </tr> </ng-template> <ng-template pTemplate="body" let-rowNode let-rowData="rowData" let-columns="columns"> <tr [ttRow]="rowNode" [ttRow]="rowNode" > <td *ngFor="let col of columns; let i = index"> <p-treeTableToggler [rowNode]="rowNode" *ngIf="i === 0"></p-treeTableToggler> {{ rowData[col.field] }} </td> </tr> </ng-template> </p-treeTable>
问题描述:我希望将PrimeNG TreeTable的行高调小,但无法实现;目前可以增大行高,但如上图所示,当前代码设置下无法修改行高,急需解决该问题。
解决方案
PrimeNG TreeTable的默认样式自带固定内边距和行高规则,加上scrollable属性生成的特殊结构,普通样式优先级不足难以覆盖。可以通过以下方式解决:
全局样式强制覆盖
在项目全局样式文件(如styles.css)中添加以下CSS,直接调整单元格内边距和行高:/* 调整表头行高 */ .tableStyle .ui-treetable thead th { padding: 3px 8px !important; line-height: 1.1 !important; } /* 调整数据行高(兼容滚动模式) */ .tableStyle .ui-treetable tbody tr td, .tableStyle .ui-treetable-scrollable-body tr td { padding: 3px 8px !important; line-height: 1.1 !important; } /* 调整展开/折叠图标间距,避免错位 */ .tableStyle .ui-treetable-toggler { margin: 1px 0 !important; }组件内样式穿透(Angular)
若不想修改全局样式,可在组件CSS文件中用::ng-deep穿透默认样式:::ng-deep .tableStyle .ui-treetable tbody tr td { padding: 3px 8px; line-height: 1.1; }移除无效默认类
若ui-treetable-sm类未生效,可尝试移除该类,完全依赖自定义样式控制行高,避免默认类的样式冲突。
内容的提问来源于stack exchange,提问作者Jishnu 1203
相关产品推荐
相关产品推荐

