试图在extjs中创建自定义工具栏

时间:2014-10-08 15:00:54

标签: extjs extjs4.2

我想创建自己的工具栏,这是 Ext.toolbar.Toolbar 的扩展。

我像这样定义我的StandardToolbar类:

Ext.define('js.grid.StandardToolbar', {

    extend: 'Ext.toolbar.Toolbar',

    initComponent : function () {


        this.items = [
            {
                xtype: 'tbfill'
            }]
    },

然后当我创建我的网格时,我会像这样传递它:

var myGrid = Ext.create('js.grid.myGrid', {
    tbar: Ext.create('js.grid.StandardToolbar')
});

然而,Extjs绊倒了。

我的错误堆栈是这样的:

  

未捕获的TypeError:无法读取属性'长度'未定义的   EXT-ALL-debug.js:38282Ext.define.getRefItems   EXT-ALL-debug.js:38282Base.implement.callParent   EXT-ALL-debug.js:4263Ext.define.getRefItems   EXT-ALL-debug.js:49999getItems   EXT-ALL-debug.js:21998cq.Query.Ext.extend.execute   EXT-ALL-debug.js:22210Ext.apply.query   EXT-ALL-debug.js:22337Ext.define.getDockedItems   EXT-ALL-debug.js:44420Ext.define.getDockingRefItems   EXT-ALL-debug.js:44430Ext.define.getRefItems   EXT-ALL-debug.js:51780getItems   EXT-ALL-debug.js:21998cq.Query.Ext.extend.execute   EXT-ALL-debug.js:22213Ext.apply.query   EXT-ALL-debug.js:22337Ext.define.query   ext-all-debug.js:37146Ext.define.getScrollTarget ext-all -

我做错了吗?

1 个答案:

答案 0 :(得分:1)

这是旧的 forgotToCallParentInInitComponent 问题。我刚添加项目后添加了 this.callParent(); 行。

Ext.define('js.grid.StandardToolbar', {

    extend: 'Ext.toolbar.Toolbar',

    initComponent : function () {


        this.items = [
            {
                xtype: 'tbfill'
            }]
        this.callParent();
    },