
版权声明:本文为博主原创文章,未经博主允许不得转载。
- Ext.namespace("Ext.ux");
- Ext.ux.MyTree = Ext.extend(Ext.tree.TreePanel, {
- animate: true,
- enableDD: false,
- border: false,
- rootVisible: true,
- autoScroll: true,
- height: 500,
- initComponent: function()
- {
- this.root = new Ext.tree.AsyncTreeNode({
- id: "root",
- text: "菜单树"
- });
- this.loader = new Ext.tree.TreeLoader({
- dataUrl: "BBM/getTree.action",
- listeners: {
- "beforeload": function(treeLoader, node)
- {
- treeLoader.baseParams.id = (node.id != "root"
- ? node.id
- : "");
- }
- }
- });
- Ext.ux.MyTree .superclass.initComponent.call(this);
- }
- })
- Ext.reg("myTree", Ext.ux.MyTree );
- /*Ext.onReady(function()
- {
- Ext.BLANK_IMAGE_URL = "../resources/images/s.gif";
- Ext.QuickTips.init();
- Ext.form.Field.prototype.msgTarget = "side";
- var viewport = new Ext.Viewport({
- layout: "fit",
- items: {
- id: "菜单树",
- region: "center",
- xtype: "myTree"
- }
- })
- })*/
通过查看Ext组件继承关系,我们会在原代码里找到,基类调用this.initComponent()来初始化组件.initEvents()来初始化事件.
所以我们可以继承父类组件,重写initComponent、initEvents,并且用this.来增加属性或函数或绑定事件,如果重名则会覆盖原有属性或函数.
另外在源代码里我们又找到Ext.reg("textarea",Ext.form.TextArea);这是给组件注册xtype的名称.有了xtype我们就可以更方便的使用自己的组件了.