Ext.applyIf(object,config);
Ext.apply(object,config)
两个函数都是将config的属性拷贝到object中,但是如果object已有属性,Ext.applyIf(object,config);是不会覆盖原有属性的。
注意:传入参数如果是undefined,config中的属性是不会拷贝到config中的。
定义一个Ext 组件类,通常定义一些默认的属性,传入新的属性覆盖原有的属性。
以前我们采用Ext.apply(this,config);但是不能保证Ext采用传入的参数构造子类。
所以在定义Ext类的时候,可以使用Ext.apply,将传入参数覆盖到原有默认参数中。
Ext.namespace('com.resoft.performance');
/**
* 图表弹出窗口
*
* @param {}
* config
*/
com.resoft.performance.ChartWindow = function(config) {
com.resoft.performance.ChartWindow.superclass.constructor.call(this, Ext
.applyIf(config, {
maximizable : true,
width : 200,
height : 100,
modal : true,
collapsible : true,
renderTo : Ext.getBody(),
layout : 'border',
items : {
region : 'center',
iconCls : 'panel-grid-icon',
title : '查询结果',
autoScroll : true,
margins : '0 5 0 5',
layout : 'fit',
items : new Ext.TabPanel({
region : 'center',
margins : '3 3 3 0',
activeTab : 0,
defaults : {
autoScroll : true
},
items : [{
title : 'Bogus Tab',
html : 'ffff'
}, {
title : 'Another Tab',
html : 'ffff'
}, {
title : 'Closable Tab',
html : 'efeafegnwrth',
closable : true
}]
})
}
}));
}
Ext.extend(com.resoft.performance.ChartWindow, Ext.Window, {
width : 600,
height : 400,
productType : 'gg',
chartType : 'f'
})
但是如果调用代码构造时,没有任何参数传入,构造时的参数将为空,即Ext.apply(object,config),如果object为undefined, 返回也为undefined。如下代码就不会显示任何item。
Ext.onReady(function() {
var s = new com.resoft.performance.ChartWindow();
s.show();
});
所以可以采用下列代码进行替换
Ext.apply( {.....},config)
这样默认的属性就会强制被config覆盖,如果config为空,也会按照默认的属性进行构造
分享到:
相关推荐
在处理复杂的用户界面时,Panel和IFrame的组合使用是常见的场景。当Panel包含一个IFrame时,可能会遇到页面高度调整的问题,特别是在动态加载内容或者IFrame内页面高度不固定时。本文将深入探讨如何在使用ExtJS时...
8. `Ext.util.Format.escapeRegex(String value)`: 此函数用于转义正则表达式中的特殊字符,确保在使用字符串构建正则表达式时不会引发错误。 9. `Ext.callback(Function callback, [Array args], [Object scope])`...
4. **Ext.addBehaviors(Object obj)**:这个函数允许我们使用CSS选择器的方式为页面元素添加事件监听器。例如,可以为ID为"foo"的元素下的所有"a"标签添加点击事件,或者为多个选择器添加相同事件。 5. **Ext.id(...
7.2.10 使用浏览器存储的代理:ext.data.webstorageproxy、ext.data. sessionstorageproxy和ext.data.proxy.localstorage / 314 7.3 读取和格式化数据 / 315 7.3.1 概述 / 315 7.3.2 数据的转换过程:ext.data....
在这里,我们创建了一个名为 `myArticleList` 的新组件,它继承自 `Ext.grid.GridPanel`。在 `initComponent` 中,我们创建了一个新的 `JsonStore` 用于存储数据,并设置了其字段和数据源URL。注意,重载 `...
在支持一次仅显示一个子组件的布局中,如`Ext.layout.Accordion`、`Ext.layout.CardLayout`和`Ext.layout.FitLayout`,这个属性特别有用。 2. **allowDomMove**: 默认值为`true`,表示在组件渲染过程中允许移动DOM...
10. **applyTo**:你可以指定已存在文档中的元素 ID、DOM 节点或类似 DIV 的元素,`Ext.form.FieldSet` 将会使用这些元素作为其基础。使用 `applyTo` 时,不需要调用 `render()` 方法,且 `renderTo` 配置会被忽略。...
7. **animCollapse**: 如果设置为`true`,FieldSet在展开和折叠时会带有动画效果,前提是Ext.Fx库可用。 8. **bodyCfg**: 用于定义FieldSet主体部分的DOMHelper配置,可以用来改变body元素的结构或样式,如居中对齐...
6.3.2 Ext.core.DomHelper.applyStyles() 6.3.3 createTemplate() 6.3.4 insertAfter() 6.3.5 insertBefore() 6.3.6 insertFirst() 6.3.7 insertHtml() 6.3.8 overwrite() 6.4 Ext.core....
`Ext.apply`函数用于合并两个对象的属性,这样在调用`store.load`时,服务器端就能接收到完整的查询条件。 注意,`return true`是必需的,因为`beforechange`事件的返回值决定是否继续执行默认的行为(加载数据)。...
store: Ext.create('Ext.data.Store', {data: data}), itemSelector: 'div' }); Ext.getCmp('container').add(list); // 假设有一个id为'container'的容器 } }); }); ``` 综上所述,EXTJS的事件系统和模板...
6.4.4 Ext.query与Ext.select 6.5 应用模板 6.5.1 Ext.Template 6.5.2 Ext.XTemplate 第7章 设计表单类布局 7.1 Form表单简介 7.1.1 Form表单的基本配置 7.1.2 ExtJS对Form表单的封装 7.2 ExtJS的表单组件 ...
例如,当你创建一个新组件时,可以使用`Ext.apply`来设置默认配置和用户自定义配置。 2. **Ext.emptyFn**: 这是一个返回空函数的函数,常用于需要一个空函数作为回调或占位符的情况。 3. **Ext.applyIf()**: 类似...
首先,创建了一个名为 `MyGridView` 的类,该类继承自 `Ext.grid.GridView`。然后,重写了 `renderHeaders` 方法,该方法负责生成 Grid 的表头 HTML 结构。 ```javascript MyGridView = Ext.extend(Ext.grid....
- **Ext.apply() 和 Ext.applyIf()**: 这两个函数用于合并对象,它们在配置组件时非常有用。 2. **消息框** - **提示框**: 最简单的消息框类型,用于显示简单的提示信息。 - **输入框**: 允许用户输入文本的消息...
1. 定义插件:首先,你需要创建一个EXT插件类,继承自`Ext.EditorPlugin`或`Ext.util.Observable`,并在构造函数中初始化按钮配置。 ```javascript Ext.ns('MyPlugins'); MyPlugins.ImageInsert = function(config)...
类的创建和继承则可以通过JavaScript的原型链实现,或者使用ExtJS提供的`Ext.extend`方法。此外,`Ext.apply`可以用于向对象动态添加属性和方法。 获取界面上的元素是ExtJS中的重要操作,这主要通过Ext.Element实现...
- **命名空间**:使用`Ext.namespace`定义命名空间,例如`Ext.namespace("Ext.cc")`。 - **对象创建**:可以通过传统的JavaScript语法创建对象,然后利用`Ext.apply`方法添加额外的属性和方法。 ```javascript Ext...