0

我正在使用 ExtJs 4。

我有一个看起来像这样的面板:

var panel = Ext.create('Ext.panel.Panel',{
    title: 'Current Transaction Data',
    width: 500,
    items:[
           {
               id: 'field1',
               xtype: 'textfield',
               label:'Field 1',
           },
           {
               id: 'field 2',
               xtype: 'textfield',
               label:'Field 1',
           }
    ],

})

我有一个函数来发出一个看起来像这样的 ajax 请求:

var myDataObject;
var getData= function(callback){ 
    Ext.Ajax.request({
        url: 'MY-URL-TO-GET-DATA',
        success: function(response){
            myDataObject= Ext.JSON.decode(response.responseText)}})}

我想要做的是,在我检索到我的数据对象后,我想告诉面板使用新数据进行更新。我正在寻找像 panel.update(data) 这样的调用。

我在面板上看到了 update() 方法,但不明白如何使用它。我要覆盖它吗?它说了一些关于使用模板的内容,但我还没有找到任何好的例子。我什至不确定这是否是这样做的首选方法。

我使用网格面板和数据存储做了类似的事情。在这种情况下,我可以在数据存储上调用 refresh(),但我不想为这个特定问题使用网格。

4

1 回答 1

1

您可以使用panel.update(data),但这只是将文本有效地注入为 innerHTML,tpl必要时使用配置。面板中的两个文本字段是做什么用的?您可以将其中一个字段的文本设置为数据,或将 a 添加Ext.form.field.DisplayView到面板,并将其值设置为数据。

编辑:正如下面评论中所建议的,答案是子类化并添加一个方法来进行数据刷新。

于 2012-10-11T13:53:24.167 回答