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

发布时间 - 2026-01-11 02:30:54    点击率:

今天在开发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  # 学习ExtJS Window常用方法  # 给大家  # 弹出  # 加载  # 是因为  # 就能  # 工作流  # 不可以  # 希望能  # 会对  # 这篇  # 不能正常  # 先将  # 绑定  # 小编  # 大家多多  # 数据加载中  # 过程中  # 请稍等  # 就是在  # 就是因为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 香港服务器网站推广:SEO优化与外贸独立站搭建策略  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Laravel如何记录自定义日志?(Log频道配置)  Laravel Fortify是什么,和Jetstream有什么关系  如何在阿里云服务器自主搭建网站?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  如何在建站之星绑定自定义域名?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  南京网站制作费用,南京远驱官方网站?  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何在自有机房高效搭建专业网站?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何在阿里云高效完成企业建站全流程?  高端建站如何打造兼具美学与转化的品牌官网?  如何在服务器上配置二级域名建站?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Java垃圾回收器的方法和原理总结  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Android GridView 滑动条设置一直显示状态(推荐)  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  微信小程序 canvas开发实例及注意事项  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel如何实现API速率限制?(Rate Limiting教程)  如何自定义建站之星模板颜色并下载新样式?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Thinkphp 中 distinct 的用法解析  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何用JavaScript实现文本编辑器_光标和选区怎么处理  canvas 画布在主流浏览器中的尺寸限制详细介绍  如何用PHP工具快速搭建高效网站?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何在阿里云部署织梦网站?  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Python结构化数据采集_字段抽取解析【教程】  Laravel怎么上传文件_Laravel图片上传及存储配置  Laravel distinct去重查询_Laravel Eloquent去重方法