Extjs关于tabpanel的 bug修改
2017-04-11 12:16
411 查看
这篇文章主要是讲 deferredRender 这个属性的。
bug描述:第一次进入页面之后没有问题,但是Tab来回切换之后每个items里的Panel就不加载了。
经过修改,问题找到。源代码如下:
Ext.onReady(function(){
Ext.QuickTips.init();
var
tabs2=new Ext.TabPanel(
{renderTo:main,
activeTab:0,
activeTab:1,
plain:true,
defaults:{autoHeight:true},
items:[
new
Ext.Panel(formDetail),
new
Ext.Panel(formHandle),
new
Ext.Panel(transcribeReply),
new
Ext.Panel(waitingUserList),
new
Ext.Panel(subFormList),
new
Ext.Panel(prtFormList),
new
Ext.Panel(attachmentList)
]
}
);
}
);
我在plain:true,之后 deferredRender:false,问题迎刃而解。
在创建Ext.TabPanel时deferredRender配置项经常会被忽略。该配置项的默认值是true。true表示只有在用户第一次访问选项卡时,该选项卡的panel才会被渲染。
所以当我们有可能使用脚本操作选项卡时,谨记将该配置项设置为false。
在FormPanel中使用TabPanel,如果在TabPanel中不定义deferredRender的值为false,那么,当你使用Load方法为Form加载数据,或使用setValue为没有激活过的Panel的控件赋值时,将会发生错误。
原因是,在默认设置下deferredRender为true,TabPanel并不会渲染所有Panel上的控件,只有在该Panel被激活时才渲染控件,所以当你为这些控件设置数据时,将会找不到这些控件,会出现错误。
因而,在FormPanel中使用TabPanel,一定要在TabPanel中设置deferredRender的值为false,强制TabPanel在Layout渲染时同时渲染所有Panel上的控件。
额外福利:
Ext.QuickTips.init();
这一行代码的意义:QuickTips的作用是读取标签中的ext:qtip属性,并为它赋予显示提示的动作。
renderTo 与
applyTo的区别:applyTo是将组件加在了指定元素之后,而renderTo则是加在指定元素之内
plain:true
一种使用简单的纯色样式,主要应用于Window样式上,此时只要此项的baseCls设置为x-plain,就可以达到纯色效果
bug描述:第一次进入页面之后没有问题,但是Tab来回切换之后每个items里的Panel就不加载了。
经过修改,问题找到。源代码如下:
Ext.onReady(function(){
Ext.QuickTips.init();
var
tabs2=new Ext.TabPanel(
{renderTo:main,
activeTab:0,
activeTab:1,
plain:true,
defaults:{autoHeight:true},
items:[
new
Ext.Panel(formDetail),
new
Ext.Panel(formHandle),
new
Ext.Panel(transcribeReply),
new
Ext.Panel(waitingUserList),
new
Ext.Panel(subFormList),
new
Ext.Panel(prtFormList),
new
Ext.Panel(attachmentList)
]
}
);
}
);
我在plain:true,之后 deferredRender:false,问题迎刃而解。
在创建Ext.TabPanel时deferredRender配置项经常会被忽略。该配置项的默认值是true。true表示只有在用户第一次访问选项卡时,该选项卡的panel才会被渲染。
所以当我们有可能使用脚本操作选项卡时,谨记将该配置项设置为false。
在FormPanel中使用TabPanel,如果在TabPanel中不定义deferredRender的值为false,那么,当你使用Load方法为Form加载数据,或使用setValue为没有激活过的Panel的控件赋值时,将会发生错误。
原因是,在默认设置下deferredRender为true,TabPanel并不会渲染所有Panel上的控件,只有在该Panel被激活时才渲染控件,所以当你为这些控件设置数据时,将会找不到这些控件,会出现错误。
因而,在FormPanel中使用TabPanel,一定要在TabPanel中设置deferredRender的值为false,强制TabPanel在Layout渲染时同时渲染所有Panel上的控件。
额外福利:
Ext.QuickTips.init();
这一行代码的意义:QuickTips的作用是读取标签中的ext:qtip属性,并为它赋予显示提示的动作。
renderTo 与
applyTo的区别:applyTo是将组件加在了指定元素之后,而renderTo则是加在指定元素之内
plain:true
一种使用简单的纯色样式,主要应用于Window样式上,此时只要此项的baseCls设置为x-plain,就可以达到纯色效果
相关文章推荐
- 为extjs的TabPanel 添加右键关闭效果(修改一个bug)
- 为extjs的TabPanel 添加右键关闭效果(修改一个bug)
- 我自己写的关于EXTJS的TreePanel、viewPort和tabPanel动态切换和添加tabpanel的例子
- 【ExtJs】tabPanel标签页与修改标签页的内容
- 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理
- 关于<rich:popupPanel>中的<h:inputText>不能正确修改后台的值 的问题
- 关于extjs中的tabpanel的刷新等若干问题,解决tabpanel内页面刷新,更新数据等问题。
- ExtJs 关于Tabpanel与fieldset切换时 fieldset在其他tab面板无法显示
- 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理
- 关于extjs中动态添加TabPanel的tab项并以iframe显示的整理(转)
- "getline" bug fix for Microsoft Visual C++ 6.0 关于VC6的getline输入需要两个回车才结束的BUG修改方法
- 关于ExtJS TabPanel中column布局不显示问题
- 发现 ASP.Net 的一个关于"回车提交"的 Bug ? 必须多于一个 Text 域"回车提交",Server: ButtonX_Click 才能截获!
- ExtJS控件样式的修改(示例无边框panel)
- ExtJs学习笔记基础篇(3)-面板的使用(Ext.Panle、Ext.TabPanel、Ext.Viewport)
- Extjs中panel的 collapseMode 属性的应用,修改折叠箭头样式
- extjs tabpanel排版问题
- 关于ext 的Ext.tab.Panel一些属性和方法
- sencha-touch开发的一些tips(tabPanel,提示框,store数据修改)