{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
});

相關

以下選項直接相關,也可能在您的應用程式開發中很有用。