基于ExtJs在页面上window再调用Window的事件处理方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基于ExtJs在页面上window再调用Window的事件处理方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2490字,纯文字阅读大概需要4分钟。
内容图文
今天在开发Ext的过程中遇到了一个恶心的问题,就是在ext.window页面,点击再次弹出window时,gridpanel中的store数据加载异常,不能正常被加载,会出现缓存,出现该问题,是因为window窗口弹出时,两个window同时存在,并且在两个window交替使用时,需要先将一个窗口关闭,关闭时,会对window的缓存进行清理,这样就能保证store数据的正确加载。分享给大家,供参考。
var actInfoWindow2; function showCallFlowInfoWindow(flowid, actId) { var actWindowHeight1 = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; if(null != upldWin && undefined != upldWin && "" != upldWin){ upldWin.close(); } // 异常活动模型 Ext.define('callFlowModel', { extend: 'Ext.data.Model', fields: [{name: 'instance', type: 'string'}, {name: 'flowName', type: 'string'}, {name: 'prjName', type: 'string'}, {name: 'startTime', type: 'String'}] }); callFlowStore = Ext.create('Ext.data.Store', { autoLoad : true, model : 'callFlowModel', proxy : { type : 'ajax', url : 'subflow.do', reader : { type : 'json', root : 'callFlowList', totalProperty : 'total' } }, listeners: { 'beforeload': function (store, op, options) { var params = { //参数 flowId : flowid, id : actId }; Ext.apply(store.proxy.extraParams, params); } } }); // 绑定数据模型flowColumns var callFlowColumns = [ { text: '实例名', dataIndex: 'instance', width:174 }, { text: '工程名', dataIndex: 'prjName',width: 174 }, { text: '工作流名', dataIndex: 'flowName',width: 174 }, { text: '启动时间', dataIndex: 'startTime',width: 174 } ]; callFlowGrid = Ext.create('Ext.grid.Panel', { region : 'center', //tbar:querybar, id:'callFlowList', autoScroll : false, border:false, //columnLines : true, //selModel:selModel, //bbar : pageBar, columns : callFlowColumns, store : callFlowStore, loadMask : { msg : " 数据加载中,请稍等 " } }); if (actInfoWindow2 == undefined || !actInfoWindow2.isVisible()) { actInfoWindow2 = Ext.create('Ext.window.Window', { id : 'actInfoWindow2', title : '活动信息详情', modal : true, closeAction : 'destroy', constrain : true, autoScroll : true, width : 700, height : actWindowHeight1 - 300, items : [ callFlowGrid ], listeners:{ beforeclose:function(){ actInfoWindow2.destroy(); } } }); } actInfoWindow2.show(); } if(null != upldWin && undefined != upldWin && "" != upldWin){ upldWin.close(); }
我的问题出现就是因为没有添加上面黄色背景的代码片段导致的错误。供大家参考。两个window交替使用时,需要交替关闭,这样才能保证页面的正常。ExtJs不建议弹出多window同时使用,当然,如果能解决好ExtJs之间的数据交互,也未必不可以。
以上这篇基于ExtJs在页面上window再调用Window的事件处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
内容总结
以上是互联网集市为您收集整理的基于ExtJs在页面上window再调用Window的事件处理方法全部内容,希望文章能够帮你解决基于ExtJs在页面上window再调用Window的事件处理方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。