1. 程式人生 > >EasyUI 使用tabs切換後datagrid顯示不了內容

EasyUI 使用tabs切換後datagrid顯示不了內容

今天剛遇到這個問題,找了下各群的深度合作伙伴,沒有好的答案,那就自己研究吧。

問題點在於開啟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;
        }