{hero}

searchDelay

自:DataTables 1.10.3

为搜索操作设置延迟。

描述

此参数用于设置用户输入到全局搜索字段(默认情况下位于每个 DataTable 的右上角)和执行实际搜索操作之间的延迟时间。在使用服务端处理且不希望每个击键都触发 Ajax 请求以获取数据时,此参数会特别有用。

此属性的默认值取决于 DataTables 的 serverSide 选项

  • 在客户端处理模式下为 0,
  • 在服务端处理模式下为 400 毫秒。

在初始化对象中设置一个值会将你的值覆盖,无论使用的是哪种模式。

能够控制调用频率有很多用途

  • 通过减少搜索频率,可以减轻旧浏览器和较慢计算机的处理负载
  • 搜索时表格重绘次数减少,使用户不会分心
  • 使用服务端处理时,通过减少调用次数来减轻服务器负载
  • 相反,通过将默认的 400 毫秒减少到立即(0),可以在使用服务端处理时加快搜索速度。

此属性给定的值为毫秒 (mS)。

在 DataTables 2 之前,此方法使用 DataTable.util.throttle(),因此即使用户仍在输入,也会触发搜索,只是调用频率较低。从 DataTables 2 开始,DataTable.util.debounce() 用于等待用户完成输入(更具体地说,是等到给定的超时完成)才运行搜索。

请注意,此选项仅影响 DataTables 提供的内置全局搜索框。它不影响 search()column().search() 方法。如果你希望延迟对这些 API 方法的调用,可以使用实用程序方法 DataTable.util.debounce()

类型

此选项可以用以下类型指定

默认

  • 值:null

当指定为 null 时,DataTables 会自动分配一个适合 DataTable 正在运行的处理模式的值

  • 立即 - 客户端处理
  • 400 毫秒 - 服务端处理

示例

设置 350 毫秒的搜索延迟

new DataTable('#myTable', {
	searchDelay: 350
});

相关

以下选项与该选项直接相关,在应用程序开发中也可能很有用。