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パネルの 2 つのテキスト フィールドは何のためにあるのですか? これらのフィールドのいずれかのテキストをデータに設定するかExt.form.field.DisplayView、パネルに a を追加して、その値をデータに設定できます。

編集:以下のコメントで示唆されているように、答えはサブクラス化してデータ更新を行うメソッドを追加することです。

于 2012-10-11T13:53:24.167 に答える