datatables - 单击和更改事件不适用于 Angular 6 数据表响应扩展
问题描述
我使用 Angular 6 数据表在前端显示数据。我使用响应式扩展来显示更多数据,如 https://l-lin.github.io/angular-datatables/#/extensions/responsive
<table datatable [dtOptions]="dtOptions" [dtTrigger]="dtTrigger" class="row-border hover">
<thead>
<tr>
<th>Category Name</th>
<th>Description</th>
<th>Is Enable</th>
<th>Sub Categories</th>
<th>update</th>
<th>delete</th>
<th>Extra Data</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of vehicleCategoryData; let i = index">
<td>{{data.categoryName}}</td>
<td>{{data.description}}</td>
<td>{{data.isEnable}}</td>
<td>{{data.subCategory.length}}</td>
<td><i class="fa fa-edit" (click)="update(i)"></i></td>
<td><i class="fa fa-trash-o" (click)="delete(i)"></i></td>
<td>{{data.extraData}}
</tbody>
</table>
我的 dtOptions 也定义如下。
dtOptions: any = {
pagingType: 'full_numbers',
pageLength: 5,
columns: [{
title: 'Category Name',
data: 'categoryName'
}, {
title: 'Description',
data: 'description'
}, {
title: 'Is Enable',
data: 'isEnable'
},{
title: 'Sub Categories',
data: 'sub'
},
{
title: 'update',
data: 'up'
},
{
title: 'delete',
data: 'del'
},
{
title : 'Extra Data',
data : 'sc',
className : 'none'
}],
responsive: true
};
所以一切正常。但
(click)="update(i)"
(click)="delete(i)"
事件不起作用。我怎么解决这个问题。有什么建议么?
解决方案
我通过使用listHiddenNodes 函数解决了这个问题。
首先我在组件中导入了响应变量
import Responsive from 'datatables.net-responsive';
然后我把这段代码放在 dtOptions
this.dtOptions = {
responsive: {
details: {
renderer: Responsive.renderer.listHiddenNodes()
}
},
};
就这样!
推荐阅读
- if-statement - 如何执行嵌套的 if 和 ISBLANK 公式并在文本不为空时显示文本
- python - 尝试将excel数据保存到数据库中的Python代码-转义特殊字符时出错
- php - 删除第一个数组php
- apache-kafka - Kafka 流处理器 API 使用
- python - 使用 django 表单进行数学运算并避免重定向
- java - 矩阵中最大的行或列
- neo4j - 在查询中计算开始时间和结束时间之间的分钟差
- tensorflow - 初始化 CUDNN LSTM 的状态
- identityserver4 - 在 identityserver4 中向用户显示验证错误
- swift - 获取所选行的索引以用于准备 segue