tabpanel的各个tab中的内容通过iframe加载,现在不知道如何在tabchange的时候对tab中的内容进行dolayout。
这个问题困扰好久了 =.= ,感谢!
var tabs = new Ext.TabPanel({
enableTabScroll : true
});
tabs.on('tabchange', function(tp, p) {
//有没法子在这个地方遍历下p下面的所有panel各个dolayout
});
addTab = function(title, url) {
tabs.add({
title : title,
iconCls : 'tabs',
contentEl : Ext.DomHelper.append(document.body, {
tag : [b][color=red]'iframe'[/color][/b],
style : "border 0px none;scrollbar:true",
src : url,
height : "100%",
width : "100%"
})
}).show();
}
new Ext.Viewport({
layout : 'fit',
items : [tabs]
})
然后是添加tab的代码
addTab ('tab1','viewTab1.do');
addTab ('tab2','viewTab2.do');
主要代码如上:各个tab页面是通过iframe形式加载,
问题:以上代码默认的activetab为tab2,如果tab1是formpanel的两列布局,
则从tab2切换过来时tab1的formpanel显示为1列去了
(此时如果点击该页面上的一个按钮进行formpane.doLayout()就又恢复正常了)。
而当我代码最后加了tab2.setActiveTab(0),让它默认先显示内容为formpanl两列布局的tab1时,此时完全正常。
求高手看下在不改变iframe加载形式的情况如何使我tabchang时重新doLayout下,使布局正常显示。
问题补充:hao117 写道
ext的吧,在tabs添行layoutOnTabChange:true,这是由tabpanel的布局引起的
deferredRender : false,
layoutOnTabChange : true,
这两个在iframe加载方式时没用,只能用于普通的tabpanel.add(panelXX)
相关推荐
总结,EXT JS的`TabPanel`支持动态页面加载,通过设置`lazy`属性和监听`tabchange`事件,我们可以实现在`Tab`被激活时按需加载内容,有效提高了应用性能。结合`ComponentLoader`或Ajax请求,可以灵活地加载HTML内容...
上述代码中的`this.tabPanel.getActiveItem()`用于获取当前活动的标签页,之后通过`item.loader.load()`来触发数据的重新加载。如果标签页本身并没有定义`loader`对象,则可以通过动态创建的方式为其添加一个`...
例如,可以使用 `tabpanel.getActiveTab()` 方法来获取当前活动页签,然后使用 `tab.setStyle()` 方法来设置该页签的样式。这种方法可以提供更好的灵活性和可扩展性。 设置tabpanel当前活动页签的样式是Extjs开发中...
通过以上步骤,我们能够实现EXTJS 4.x中tabpanel的动态加载功能。这不仅可以提高应用性能,还能使用户界面更加灵活,适应不同的场景需求。记得在实际项目中根据具体需求调整和优化代码,以获得最佳效果。
在给定的标题"TabPanel加载页面"中,我们可以理解为讨论的是如何在`TabPanel`组件中动态加载页面内容。这通常涉及到以下几个关键知识点: 1. **动态加载**:在用户点击某个标签时,只加载对应的页面内容,而不是一...
通过以上两种方法——调整`autoDestroy`和`closeAction`属性——我们可以有效地解决Ext中`TabPanel`关闭后再打开不显示的问题。这些技巧不仅能够提升用户体验,还能够在复杂的业务场景下提供更加灵活的界面管理方案...
extjs动态添加tabpanel标签页支持pannel嵌入 逻辑代码在 MyWindow.js里面直接调用 方法 就可以
4. **动态添加标签页**:在`itemclick`事件处理函数中,利用`TabPanel`的`add`方法添加新标签页,或者通过`setActiveTab`方法切换到已有标签页。 5. **更新标签页内容**:如果需要动态加载内容,可以在此时创建或...
创建一个基本的TabPanel需要指定` xtype: 'tabpanel' `,并可以通过`items`属性来添加初始的面板。例如: ```javascript Ext.application({ name: 'MyApp', launch: function () { Ext.create('Ext.container....
TabPanel的使用,添加tab,加载页面,添加事件
4. **Ajax**:如果TabPanel的内容需要动态加载,可以使用Ajax异步请求数据,只在切换时加载对应面板的内容,提高用户体验。 5. **React/Vue/Angular**:在现代前端框架中,可以利用组件化思想创建TabPanel组件,如...
基于jquery的tabpanel,支持动态添加,支持滚动条,可内嵌iframe,支持关闭按钮,支持tab的背景图片配置, 这个是我在网上找到一个原始的版本,然后修改的,有详细注释,写了11个使用例子,基本涵盖了该组件的功能。...
将选项卡组件渲染到某容器,参数类型可以为字符串,也可以为jQuery所加载的对象,如果为声明该参数,组件默认的承载容器为BODY。 items<array> 选项卡元素集合 选项卡组件渲染后就会显示的选项卡元素集合,具体参数...
tabPanel.on('tabchange', function(tabPanel, newTab) { console.log('当前激活的标签页是:' + newTab.title); }); ``` 5. `index.js` 和 `temp.js`: 这两个文件可能是主入口文件或临时脚本,它们可能包含了...
刚才看到有会员朋友说matlab中控件少,math说ActiveX中多的是啊,于是我也就顺便打开ActiveX看看里面都有什么。突然看到个单词tabbed……难道这就是困扰我多日的标签页?(已经解决)遗憾的是不知道为什么在我这里这...
在网页设计中,Tab Panel是一种常见的用户界面元素,它允许用户通过点击不同的标签来切换显示不同的内容区域。在这个“javascript+css+tabpanel的实现”中,我们将深入探讨如何使用HTML、JavaScript和CSS来创建一个...
首先,TabPanel是一种常见的UI组件,它允许用户在一个固定的区域中通过不同的选项卡浏览多个页面或视图。在网页设计中,TabPanel常用于减少页面的拥挤感,提高信息的组织性和可读性。jQuery库因其简洁的API和强大的...
在ExtJS中,TabPanel是常用的组件,用于展示多个面板(Panel)并提供标签页切换功能。当用户尝试关闭TabPanel中的某个Panel时,我们可能需要执行一些验证或确认操作,例如弹出对话框询问用户是否真的要关闭当前页面...
1. **生命周期管理**:确保在尝试激活选项卡之前,tabpanel及其所有子选项卡都已经创建并加载完成。否则,可能会导致无法激活或者显示异常。 2. **事件监听**:可以监听`tabchange`事件,当选项卡被切换时,该事件...
通过以上步骤,我们可以实现一个具有垂直页签的ExtJS TabPanel,这不仅可以提高应用的可读性,还能为用户提供更直观的操作体验。对于那些需要展示大量页签且空间有限的应用来说,垂直页签是一个很好的解决方案。