Score
0
Watch 3.5K Star 9K Fork 3.9K

卓源软件 / JeeSite 4.2JavaAGPL-3.0

TabPage怎么设置懒加载

Closed
Barry  Opened this issue

该问题是怎么引起的?

现在的TabPage是一次性加载所有的页签数据,如果页签过多,一次性加载完速度会有点慢,能不能设置在切换页签的时候加载数据

重现步骤

报错信息

6732 thinkgem 1578914432 total 2 participants

Comments (2)

6732 thinkgem 1578914432
卓源软件 2020-05-25 09:48 owner

给你一个方案,下面是添加页签方法:

var tabId = 'tabpanel-' + Math.uuid();
var title = '新页签';
$('#tabPage').tabPanel('addTab', {
    id: tabId,
    title: title,
    html: '<scr'+'ipt>js.loading();</scr'+'ipt><iframe id="'+tabId+'-frame" data-src="' + url 
        + '" width="100%" height="100%" frameborder="0" onload="js.closeLoading();"></iframe>',
    closable: true,
    refresh: false,
    onPreClose: function(position){
        
    }
});

上述 iframe 的 src 我修改为了 data-src 实际添加页签后不加载。

然后你再写一个页签点击的绑定事件,如果未加载过,则将 data-src 赋值给 src 属性,否则忽略即可。

Barry 2020-05-25 10:44

给你一个方案,下面是添加页签方法:

var tabId = 'tabpanel-' + Math.uuid();
var title = '新页签';
$('#tabPage').tabPanel('addTab', {
id: tabId,
title: title,
html: '<scr'+'ipt>js.loading();</scr'+'ipt><iframe id="'+tabId+'-frame" data-src="' + url
+ '" width="100%" height="100%" frameborder="0" onload="js.closeLoading();"></iframe>',
closable: true,
refresh: false,
onPreClose: function(position){
}
});

上述 iframe 的 src 我修改为了 data-src 实际添加页签后不加载。
然后你再写一个页签点击的绑定事件,如果未加载过,则将 data-src 赋值给 src 属性,否则忽略即可。

@卓源软件 这样确实可以的 但是要是有个属性可以直接设置就方便了

Sign in to comment

Assignees
Labels
Not set
Projects
Milestones
Branches
Planed to start
Not set
Planed to end
Not set
Top level
Priority
Java
1
https://gitee.com/thinkgem/jeesite4.git
git@gitee.com:thinkgem/jeesite4.git
thinkgem
jeesite4
JeeSite 4.2

Search

231008 48f1a665 1899542 231017 9a6720c6 1899542