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
});
相關
以下選項直接相關,也可能在您的應用程式開發中很有用。