我正在使用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(数据)这样的电话。
我在面板上看到了update()方法,但是不明白如何使用它。我会覆盖它吗?它说了一些关于使用模板的内容,但我没有找到任何好的例子。我甚至不确定这是否是这样做的首选方法。
我使用网格面板和使用数据存储做了类似的事情。在这种情况下,我可以在数据存储上调用refresh(),但我不想为这个特定问题使用网格。
答案 0 :(得分:1)
您可以使用panel.update(data)
但是如果需要,可以使用配置的tpl
有效地将文本作为innerHTML注入。面板中的两个文本字段是什么?您可以将其中一个字段的文本设置为数据,或者向面板添加Ext.form.field.DisplayView
,并将其值设置为数据。
编辑:正如下面的评论所示,答案是子类并添加一个方法来进行数据刷新。