ngx-datatable元件table重新計算,手動觸發resize事件
最近寫Angular專案用到@swimlane/ngx-datatable元件,其中table有一個recalculate()方法,可以重新計算網格大小。由於左側邊欄可以伸縮導致table沒有重新計算,看了下ngx-datatable的實現原始碼,原來是這樣的:
/**
* Window resize handler to update sizes.
*/
@HostListener('window:resize')
@throttleable(5)
onWindowResize(): void {
this.recalculate();
}
只有觸發window的resize事件才能重新計算,故想到一個方法:手動觸發一個resize事件加入非同步佇列得以解決。
// 1. 得到元件
@ViewChild('datatable') datatable;
// 2. 觸發方法
const e = document.createEvent('Event');
e.initEvent('resize', true, true);
window.dispatchEvent(e);
this.datatable.recalculate();
相關文章
- 函式計算自動化運維實戰3 -- 事件觸發自動建立快照函式運維事件
- HTML事件的控制元件觸發 (轉)HTML事件控制元件
- 函式計算自動化運維實戰2 -- 事件觸發eip自動轉移函式運維事件
- JavaScript resize 事件JavaScript事件
- jQuery resize事件jQuery事件
- asp.net防止重新整理重新提交觸發後臺事件的方法ASP.NET事件
- 取消事件觸發事件
- vue中在父元件點選按鈕觸發子元件的事件Vue元件事件
- 向zepto.js學習如何手動(trigger)觸發DOM事件JS事件
- vue 表單驗證按鈕事件交由父元件觸發Vue事件元件
- 手機端html5觸屏事件(touch事件)HTML事件
- 蘋果手機輸入中文不會觸發onkeyup事件蘋果事件
- iOS開發系列--觸控事件、手勢識別、搖晃事件、耳機線控iOS事件
- “全”事件觸發:阿里雲函式計算與事件匯流排產品完成全面深度整合事件阿里函式
- 使用 jQuery 觸發 Vue 事件jQueryVue事件
- 取消事件觸發(妙啊)事件
- jQuery select 觸發事件jQuery事件
- JavaScript 模擬事件觸發JavaScript事件
- 有趣的觸發器事件觸發器事件
- oracle 觸發器 client 事件Oracle觸發器client事件
- Oracle觸發器6(建立系統事件觸發器)Oracle觸發器事件
- vue-router 手勢滑動觸發返回Vue
- sql server 重新啟動計算機失敗SQLServer計算機
- 使用批處理重新啟動計算機計算機
- iOS開發學習之觸控事件和手勢識別iOS事件
- 動態計算控制元件高度控制元件
- 函式計算 HTTP 觸發器支援非同步,解放雙手搭建 Web 服務函式HTTP觸發器非同步Web
- Android觸控事件(下)——事件的分發Android事件
- js 建立和觸發事件 和 自定義事件JS事件
- 如何觸發react input change事件React事件
- WebSocket的事件觸發機制Web事件
- Yii中事件觸發機制事件
- mvvm模式 事件觸發器[wpf]MVVM模式事件觸發器
- 透過 Drone CLI 手動觸發 CI/CD 流程
- 天翼雲加碼邊緣計算,讓普惠算力觸手可及!
- Vue事件獲取觸發事件物件和繫結事件物件Vue事件物件
- touch事件和click事件多次觸發的問題事件
- Oracle如何手動重新整理執行計劃Oracle