EasyUI 使用tabs切換後datagrid顯示不了內容
阿新 • • 發佈:2018-10-31
今天剛遇到這個問題,找了下各群的深度合作伙伴,沒有好的答案,那就自己研究吧。
問題點在於開啟tab1時,快速切到tab2,這時tab1的datagrid渲染未完成,再次回到tab1,因為是在不可見區域完成的渲染,所以datagrid的窗體計算size時給的height為0。
解決思路:在tab重獲焦點時,對datagrid resize一次。
在tabs的onSelect裡註冊事件,事件裡面的程式碼:
try { $(".tabs-panels .panel").eq($('.tabs-selected').index()).find("iframe")[0].contentWindow.resizeDT(); } catch (_e) { let _eeee = _e; }
所有tab子頁面插入此方法:
function resizeDT() { $(".datagrid-f").each(function (i, x) { try { $("#" + $(x).prop('id')).datagrid('resize'); } catch (e) { } }) return true; }