今天在开发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的事件处理的更多相关文章

  1. vue:再vue-cli项目中使用window以及调用window上的方法

    一: 1:在main.js中 Vue.prototype.myfunction = function() {/*你的自定义Vue方法*/} 2:在mounted(或其他生命周期中) 或者 method ...

  2. JavaScript的三种对话框是通过调用window对象的三个方法alert(),confirm()和prompt()

    第一种:alert()方法 alert()方法是这三种对话框中最容易使用的一种,她可以用来简单而明了地将alert()括号内的文本信息显示在对话框中,我们将它称为警示对话框,要显示的信息放置在括号内, ...

  3. window.opener调用父窗体方法的用法

    应用实例:        function BindWindowCloss() {            $(window).bind('beforeunload', function () {    ...

  4. Qt刷新机制的一些总结(Qt内部画的时候是相当于画在后台一个对象里,然后在刷新的时候调用bitblt统一画,调用window的api并不会影响到后面的那个对象)

    前段时间做过一个界面刷新的优化,遇到的坑比较多,在这里做一点点总结吧.     优化的方案是滚动滚动条的时候用截屏的方式代替界面全部刷新,优化完成后,界面在滚动时效率能提升大概一倍,背景介绍完毕.   ...

  5. js实现跨域(jsonp, iframe+window.name, iframe+window.domain, iframe+window.postMessage)

    一.浏览器同源策略 首先我们需要了解一下浏览器的同源策略,关于同源策略可以仔细看看知乎上的一个解释.传送门 总之:同协议,domain(或ip),同端口视为同一个域,一个域内的脚本仅仅具有本域内的权限 ...

  6. window.parent与window.opener的区别

    有这样一个需求,弹出一个新窗口 并从该新页面的select选择框中选择需要的类别,再返回到之前的父窗口页面的某个文本框中.这里就要用到window.parent和window.opener 如题两种方 ...

  7. js数据放入缓存,需要再调用

    再贴代码之前先描述下,这个技术应用的场景:一个页面的http请求次数能少点就少,这样大大提高用户体验.所以再一个页面发起一个请求,把所有数据都拿到后储存在缓存里面,你想用的时候再调用出来,这个是非常好 ...

  8. 完好用户体验: 活用window.location与window.open解决页面跳转问题

    原文地址: JavaScript Redirects and window.open原文日期: 2014年08月27日翻译日期: 2014年08月31日翻译人员: 铁锚 (译者注: 本文解决的是按 C ...

  9. window.parent与window.opener、window.showModalDialog的区别 opener和showModalDialog刷新父页面的方法

    项目中使用案例: 父窗体 <s:form namespace="/forexagent" id="listSearchForm" name="t ...

随机推荐

  1. (C#)工厂方法模式

    1.工厂方法模式 第一了一个用于创建对象的接口,让子类自己决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类. *工厂方法模式即克服了简单工厂模式违反开放-封闭原则的缺点,又保留了封装对象创建过 ...

  2. [译] JavaScript核心指南(JavaScript Core) 【转】

    本文转自:http://remember2015.info/blog/?p=141#scope-chain 零.索引 对象(An Object) 原型链(A Prototype Chain) 构造函数 ...

  3. Apache POI:Excel读写库

    1)Apache POI 简介 Apache POI是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写 ...

  4. Elasticsearch 相同内容文档,不同score(评分)的奇怪问题

    原文:http://stackoverflow.com/questions/14580752/elasticsearch-gives-different-scores-for-same-documen ...

  5. scatter注记词

    say illness thumb ginger brass atom twenty omit fine thought staff poverty

  6. quartz入门实例

    一 Quarta介绍 1 Quartz是什么 Quartz就是一个纯 Java 实现的作业调度工具,相当于数据库中的 Job.Windows 的计划任务.Unix/Linux 下的 Cron,但 Qu ...

  7. php分页类的实现与调用 (自我摘记)

    page.class.php <?php namespace Component; class Page { private $total; //数据表中总记录数 private $listRo ...

  8. 欢迎来怼-Alpha周(2017年10月19)贡献分配规则和分配结果

    .从alpha周(2017年10月19日开始的2周)开始,提高贡献分比重. 贡献分 : 团队分 = 1 : 5 教师会在核算每位同学总分时按比例乘以系数. 每位同学带入团队贡献分10分,如果团队一共7 ...

  9. 11.24Daily Scrum(4)

    人员 任务分配完成情况 明天任务分配 王皓南 实现网页上视频浏览的功能.研究相关的代码和功能.1007 实现视频浏览的功能 申开亮 实现网页上视频浏览的功能.研究相关的代码和功能.1008 实现视频浏 ...

  10. Generating a PDF in Codeigniter using mPDF

    https://arjunphp.com/generating-a-pdf-in-codeigniter-using-mpdf/