Ext JS:动态地将项添加到现有工具栏

时间:2016-03-10 22:05:54

标签: extjs

我已经玩了好几个小时了,无法让它上​​班。  我正在尝试将项目添加到我在视图中的工具栏中。

我知道代理正在从服务器运行,因为我正在成功地将结果打印到控制台。

请协助......我一直在寻找文档而无法找到结果

https://www.algolia.com/doc/faq/index-configuration/how-can-i-retrieve-all-the-records-in-my-index

view

2 个答案:

答案 0 :(得分:3)

使用面板的方法addDocked代替方法添加dockedItems。 (example

function addToolbar() {
        this.up('panel').addDocked({
            xtype: 'toolbar',
            dock: 'top',
            items: [{
                text: 'user 1'
            }, {
                text: 'user 2'
            }]
        });
};


var filterPanel = Ext.create('Ext.panel.Panel', {
    width: 300,
    heigth: 300,
    title: 'Example',
    items: [{
        xtype: 'button',
        text: 'add toolbar',
        handler: addToolbar        
    }],
    dockedItems: [{
        xtype: 'toolbar',
        dock: 'left',
        items: [{
            text: 'user 1'
        }, {
            text: 'user 2'
        }]
    }],
    renderTo: Ext.getBody()
});

要在示例中向现有工具栏添加新按钮,请使用:

view.down('toolbar').add({ text: 'user X' }); 

我不确定,您是否想要添加带有按钮的新工具栏,或者只是想在现有工具栏中添加新按钮?此示例添加新工具栏,就像您尝试在代码中一样。

答案 1 :(得分:2)

尝试类似:

dockedItems: [
    xtype: "toolbar",
    reference: "myMenu",
    items: [...]
]

然后:

this.lookupReference("myMenu").add({text: "new button"});