draw()
自 DataTables 1.10 起
重新绘制表格。
说明
在您执行添加或删除行、更改表格的排序、筛选或分页属性之类的操作时,您希望 DataTables 更新显示以体现这些更改。此函数用于此目的。
绝大多数 DataTables API 操作都不会自动执行绘制,以便对操作进行分组(例如,如果您对多行分组,则添加多行会更加高效)。请记住,由于 DataTables API 的链接特性,调用 draw()
方法只是将 .draw()
添加到其他 API 方法调用中,如下例所示。
请注意,调用 draw()
而第一个参数不是 page
,将会导致对表格执行完全重新排序和重新搜索。当您希望更新表格但不发生这些操作时(例如,页面变更不需要完全重新排序/重新搜索),将提供 page
选项。
类型
函数 draw( [paging] )
- 说明
在当前上下文中重新绘制 DataTables,根据需要可更新排序、筛选和分页。
- 参数
名称 类型 可选 1 paging
是 - 默认值:true 此参数用于确定 DataTables 将执行哪种类型的绘制。有三个选项可用(请注意,字符串选项需要 DataTables 1.10.8 或更高版本)
full-reset
或true
(默认值)- 将重新计算排序和搜索,并以新位置重新绘制行。分页将重置回第一页。full-hold
或false
- 将重新计算排序和搜索,并以新位置重新绘制行。分页将不重置,即仍将显示当前页。page
- 不会更新排序和搜索,并且将继续保持分页位置。这对于分页(即page()
)非常有用,在两次绘制之间并未更改数据时。
请注意,字符串选项需要 DataTables 1.10.8 或更高版本。以前的版本仅支持布尔选项。
- 返回
DataTables API 实例
示例
根据自定义输入且重新绘制来筛选表格
var table = new DataTable('#myTable');
$('#myFilter').on('keyup', function () {
table.search(this.value).draw();
});
对表格进行排序,然后重新绘制,同时保持当前分页位置
var table = new DataTable('#myTable');
// Sort by column 1 and then re-draw
table.order([[1, 'asc']]).draw(false);
更改表格的页数,然后重新绘制(使用 page
选项)
var table = new DataTable('#myTable');
table.page('next').draw('page');
相关
以下选项直接相关,在您的应用程序开发中也可能很有用。