EXT心得--并非所有的items配置对象都属于EXT的内置类

之前我对EXT的items中未指明xtype的配置对象有一个错误的认识--即虽然某个items未指明它下面的某个组件的xtype,但这个组件肯定属性EXT的某个类。然而今天在查看actioncolumn的配置items时发现这个思想是错误的认识。

看以下代码

        },{
            header : "删除",
            xtype:'actioncolumn', //3.4.0/#!/api/Ext.grid.ActionColumn   未在当前版本找到该类。--ext4api  Ext.grid.column.Action
            60,
            items: [{
                icon: '/images/domain_del.png',//所要渲染的图标
                tooltip: '删除',
                /**
                 * 图标点击事件的处理函数 Ext.grid.ActionColumn
                 * @grid GridPanel The owning GridPanel.  (注:EXT4.0版本第一个参数为view:Ext.view.Table The owning TableView.)
                 * @rowIndex 点击的行号
                 * @colIndex 点击的列号
                 * @item 点击对象(若未配置多个items则为列对象本身)。
                 * @e 事件对象
                 */
                handler: function(grid,rowIndex,colIndex,item,e) {
                    var rec = grid.getStore().getAt(rowIndex);//获取点击行记录
                    storeTree.remove(rec);//移除记录
                }
           }]},{

按之前错误的想法,这个actioncolumn的items的配置组件肯定属于EXT的某个类。下面先看API

如果actioncolumn的items的配置组件是基于EXT的某个类,API肯定会指出,但上面只是指明了其可配置的内容--那么,这些可配置的内容所组成的一般来说只是一个单纯的Object。下面在debug中证明:

下面是grid(即此actioncolumn所属的EditorGridPanel)中查询到的当前actioncolumn的items的对象信息:

从上图可看出,如果是EXT的内置类,肯定会像紫色框中那样显示出来,而这里只显示了Object--这说明它只是一个单纯的Object而已。

原文地址:https://www.cnblogs.com/wql025/p/5172809.html