ExtJs4.x动态添加组件无法正常显示问题

本文详细介绍了在使用ExtJS4.1框架时,如何正确地在容器Panel中动态添加子组件,并解决不同浏览器版本间的兼容性问题,特别关注了IE与IE9+版本之间的JS属性差异导致的显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个告警项目中做一个新需求时,前台采用了ExtJs4.1框架在使用过程中需要动态添加一个Ext组件容器(Panel),遇到了一些问题如下:

1. ExtJs中容器Panel或Container添加一个子组件的方法是在定义的时候采用items或者是采用该组件的add函数来添加,如下代码段:

tb = new Ext.toolbar.Toolbar({
    renderTo: document.body
});  // toolbar is rendered
// add multiple items.
// (defaultType for Toolbar is 'button')
tb.add([{text:'Button 1'}, {text:'Button 2'}]);
2. 按照API中的介绍在项目中添加了一个Grid组件的封装并调试发现不能正常显示到页面中

...var userListPanel = Ext.create('Ext.panel.Panel', {
	items : [searchPanel]
});

var mainPanel = Ext.getCmp('mainTabPanel');
mainPanel.add(userListPanel);
mainPanel.doLayout();...
3. IE浏览器版本配置,在Java应用中可以指定IE浏览器版本,这也使因为IE版本之间的Javascript的兼容性问题,设置方式如下:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"> //指定设置的页面以文档模式为IE8的方式浏览内容

4. 调试JS发现在IE模式下获得到ExtJs的TreePanel组件中的节点属性为item.innerText,而在Ie9+中的版本中则为item.textContent,所以未正常添加是因为属性值没有获得到导致2步骤中的代码没有正常执行,所以确定浏览器版本之间的差异解决JS问题是十分重要的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IMK7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值