state()
自:DataTables 1.10.1
获取/设置表格状态。
描述
DataTable 的“状态”是指定义其当前显示方式的属性,例如分页参数、排序和筛选。虽然您可以使用单独的 API 方法来获取和设置属性(例如 order()
),但此方法提供了一个集合 API,可以提供和获取有关整个表格的信息。请注意,即使未启用 stateSave
,它也能正常工作。
数据对象具有以下格式,但请注意 DataTables 的插件和扩展可以通过添加它们自己的状态信息所需的数据来修改此结构。
{
"time": {number} // Time stamp of when the object was created
"start": {number} // Display start point
"length": {number} // Page length
"order": {array} // 2D array of column ordering information (see `order` option)
"search": {
"search": {string} // Search term
"regex": {boolean} // Indicate if the search term should be treated as regex or not
"smart": {boolean} // Flag to enable DataTables smart search
"caseInsensitive": {boolean} // Case insensitive flag
},
"columns" [
{
"visible": {boolean} // Column visibility
"search": {} // Object containing column search information. Same structure as `search` above
}
]
}
如果将此方法用作设置器,您很可能会希望调用 draw()
,向该方法传入 false
,以确保使用新的状态重新绘制表格(并显示正确的分页)。
类型
示例
从状态对象获取保存的页面长度
alert('Saved page length is: ' + table.state().length);
获取表格状态,进行更改并加载回来
var table = new DataTable('#myTable');
var state = table.state();
state.start = 10;
table.state(start).draw(false);
相关
以下选项直接相关,在您的应用程序开发中也可能很有用。