ExtJS页面渲染失败解决方案(二)

       ExtJS是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架,它功能丰富,界面优美,不过在全面预算管理信息系统开发的过程中,发现ExtJS框架经常出现页面渲染失败的现象,主要表现在数据的列表页面。

1      解决方法

1.1   使用ExtJS自带的defer方法

经分析,页面渲染失败主要集中在列表页面,调试后发现主要是数据加载缓慢导致,ExtJS框架自带函数defer,可以让加载数据延时显示来避免页面渲染失败。对于一般延迟时间的设置,可以设置为50(毫秒),如果还会出现渲染失败,则可考虑设置成200(毫秒)。

var myStore = new Ext.data.JsonStore({

url:..,

result:..

fields:[..]

});

//延时200ms渲染

myStore.load.defer(200, myStore, [{

       params: {

           start: 0,

           limit: 18

       }

}]);

 

 

1.2   重新渲染Ext组件

除了ExtJS自带的defer函数,还可以对Ext组件添加监听事件,在数据加载完毕后触发事件,使panel重新渲染。

var myStore = new Ext.data.JsonStore({

url:..,

result:..

fields:[..]

});

//添加监听事件,在数据加载完后触发下列函数

myStore.addListener(load,storeReload);

function storeReload(objStore){

    //判断组件是否已经生成

if(Ext.getCmp(‘myGridID’)){

    //重新渲染组件

    Ext.getCmp(‘myGridID’).render(‘myGridDIV’);

}

}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值