0

我有一些从服务器获取的数据,根据情况可能会带来不同的字段,所以我拥有的是:

  //This is the way i'm attaching the newly created template to the view
  //Still no success
  function processDataMethod(response){
      //some processing here...
      var details = Ext.widget('details');
      details.config.itemTpl = new Ext.XTemplate(tplFields);
  }

  Ext.Ajax.request({
                url: '...',
                ...,
                success: function (response, request) {

                    var combinedData = processDataMethod(response);
                    operation.setResultSet(Ext.create('Ext.data.ResultSet', {
                        records: combinedData,
                        total: combinedData.length
                    }));

                    operation.setSuccessful();
                    operation.setCompleted();


                    if (typeof callback == "function") {
                        callback.call(scope || that, operation);

                        currentList.up().push(Ext.widget('details'));
                    }
                }
            });

任何帮助表示赞赏,谢谢!

4

1 回答 1

1

你必须区分一些事情:

  • currentList.up()返回一个 DOM 元素 (Ext.dom.Element)。这没有办法push()
  • 使用Ext.widget('details', config);您可以传递配置{itemTpl: yourTemplate, data: yourData},例如使用自定义模板和自定义数据创建实例。
  • 要在创建后更新您的组件,您可以随时执行someWidget.update(data);.
  • 可以使用该renderTo选项将组件呈现为 HTML 元素。
  • 组件可以以不同方式附加到现有组件,您可以以不同方式更新整个布局或部分布局。如果您要渲染到 HTML 元素,则这是不必要的。

这能帮助你找到问题吗?

于 2013-05-22T23:03:50.703 回答