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);
  • オプションを使用して、コンポーネントを HTML 要素にレンダリングできrenderToます。
  • コンポーネントはさまざまな方法で既存のコンポーネントに追加でき、さまざまな方法でレイアウト全体またはその一部を更新できます。HTML 要素にレンダリングする場合、これは不要です。

それはあなたの問題を見つけるのに役立ちますか?

于 2013-05-22T23:03:50.703 に答える