国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

ExtJS TabPanel beforeremove beforeclose使用說明

2019-11-21 00:37:49
字體:
來源:轉載
供稿:網友
當前系統使用Extjs做為前端框架,系統首頁布局采用border方式,左邊手風琴式的菜單欄,中間區域為TabPanel容器,點擊左邊菜單欄內的對應菜單在中間區域添加對應的Panel,Panel嵌入添加的gridview;

當前問題是,想在用戶關閉時彈出對話框提示用戶,根據用戶選擇是否銷毀當前頁面(Panel),或是隱藏當前Panel,保存臨時數據;

查看Extjs API文檔,對添加的panel監聽beforeclose事件

主要代碼如下

中間區域部分:
復制代碼 代碼如下:

//centerPanel
centerPanel = new Ext.TabPanel({
id: 'centerPnl'
, region: 'center'
, border: false
, iconCls: 'tabs'
, enableTabScroll: true
, items: [{
title: '首頁'
, autoScroll: true
}]
, defaults: { autoScroll: true }
});增加一個新的Panelfunction addCMUAMS_LogTab() {
activeCMUAMS_LogTab = centerPanel.add({
id: 'CMUAMS_LogShowAll'
, title: '系統日志'
, iconCls: 'tabs'
, closable: true
, bodyStyle: 'padding:10px'
, items: CMUAMS_LogGrid
, listeners: { beforeclose:TabCloseConfirm }
})
activeCMUAMS_LogTab.show();
}

但是這樣的話,情況如下:
 
Panel在'beforeclose'前已經關閉了;后來上網Google,查閱資料,忽然想到TabePanel作為容器是不是要在其處先進行事件攔截?于是修改中間區域部分代碼如下//centerPanel
復制代碼 代碼如下:

centerPanel = new Ext.TabPanel({
id: 'centerPnl'
, region: 'center'
, border: false
, iconCls: 'tabs'
, enableTabScroll: true
, items: [{
title: '首頁'
, autoScroll: true
}]
, defaults: { autoScroll: true }
//首先監聽beforeremove事件
, listeners: { beforeremove: function(ct,component ) { return false; } }
});

再運行,查看效果:
 
搞定想必點擊Panel上的關閉按鈕時,應該是首先執行的所在TabPanel容器的Remove事件,然后再執行Panel自身的Close事件;項目趕時間,沒過多時間深究了,小弟也是對JS和Extjs了解不深,有路過熟知的朋友望告知真實原因。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江永县| 壶关县| 米林县| 剑河县| 碌曲县| 桑日县| 平定县| 鱼台县| 和林格尔县| 耿马| 宁津县| 益阳市| 南城县| 长治市| 九龙县| 象山县| 商南县| 平度市| 仲巴县| 蛟河市| 屏山县| 离岛区| 辽阳市| 宁化县| 新泰市| 云霄县| 漳州市| 如东县| 新巴尔虎右旗| 沙坪坝区| 宕昌县| 江津市| 滨海县| 林甸县| 晋州市| 台南市| 军事| 兴化市| 诸暨市| 江门市| 威信县|