在ExtJS的tabpanel中更新html文本

时间:2012-04-02 15:05:47

标签: extjs tabs panel

我有一个标签面板,当点击一个按钮时,它会被网格填充。在显示该网格之前,我希望面板通知用户单击按钮以查看结果。当用户点击按钮时我想用另一个替换那个html文本,但是我遇到了问题。

    xtype: 'tabpanel',
    id: 'results-tabpanel',
    activeTab: 0,
    autoScroll: true,
    border: false,
    layout: { type: 'fit', align: 'stretch' },
    items: [{
             title: 'Results',
             id: 'result-tab',
             html: "Run a query to see results"
             //autoEl: {html: "Run a query to see results",border:false }
            },
            {
             title: 'Transactions',
             html: "Run a query to see transactions"
           }]

在按钮的事件处理程序中我有:

    var tab = Ext.getCmp("result-tab");
    tab.initialConfig.html = "Processing...";
    //tab.update("Processing...");

initialConfig是因为那是我发现html通过firebug进入的地方。我尝试使用autoEl选项,然后使用消息进行更新,但它只是添加到上一个html:http://i.imgur.com/UM3UD.png

2 个答案:

答案 0 :(得分:4)

编辑:只需阅读评论,看到你已经解决了这个问题!

我很惊讶tab.update(“Processing ...”);不起作用。我刚刚尝试了类似的配置并使用更新方法来更改html,并且它工作正常而不留下旧文本。这是我的设置,以防它有所帮助。

xtype: 'tabpanel',
region: 'center',
plain: true,
border: false,
width: 600,
margin: '4 10 2 2',
items: [
{
    xtype: 'panel',
    title: 'Testing',
    id: 'taskpanel',
    html: 'testing'
}
]

然后在控制台中我运行此操作以保存设置按钮。

Ext.getCmp('taskpanel').update('New Text!');

工作得很好。

答案 1 :(得分:3)

而不是“tab.initialConfig.html”我只使用了tab.body.update(“Processing ...”)并修复了问题。不需要autoEl。