基于ExtJs在页面上window再调用Window的事件处理方法


Posted in Javascript onJuly 26, 2017

今天在开发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的事件处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
最新优化收藏到网摘代码(digg,diigo)
Feb 07 Javascript
JS解决ie6下png透明的方法实例
Aug 02 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
纯js代码实现简单计算器
Dec 02 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
详解用node编写自己的cli工具
May 23 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 Javascript
编写一个javascript元循环求值器的方法
Apr 14 Javascript
JavaScript 异步时序问题
Nov 20 Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 #Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 #Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 #Javascript
WdatePicker.js时间日期插件的使用方法
Jul 26 #Javascript
关于Stream和Buffer的相互转换详解
Jul 26 #Javascript
JS 60秒后重新发送验证码的实例讲解
Jul 26 #Javascript
JS数组操作中的经典算法实例讲解
Jul 26 #Javascript
You might like
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
php 5.4 全新的代码复用Trait详解
2017/01/05 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
Javascript Select操作大集合
2009/05/26 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
详解JS数值Number类型
2018/02/07 Javascript
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
vue登录注册实例详解
2019/09/14 Javascript
详解Java中String JSONObject JSONArray List转换
2020/11/13 Javascript
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
python实现简单的文字识别
2018/11/27 Python
Python操作Jira库常用方法解析
2020/04/10 Python
python--shutil移动文件到另一个路径的操作
2020/07/13 Python
优秀团员个人的自我评价
2013/10/02 职场文书
会计职业生涯规划书
2014/01/13 职场文书
技术总监管理职责范本
2014/03/06 职场文书
腾讯广告词
2014/03/19 职场文书
最新优秀教师个人先进事迹材料
2014/05/06 职场文书
怎样写离婚协议书
2014/09/10 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
校园安全主题班会
2015/08/12 职场文书
学校运动会开幕词
2016/03/03 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技