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
});
相关
以下选项与该选项直接相关,在应用程序开发中也可能很有用。