Sencha Touch - расположение аккордеона - PullRequest
0 голосов
/ 29 сентября 2011

В этом коде ...

    var panel = new Ext.Panel({
        fullscreen : true,
        scroll     : "vertical",
        layout     : {
            type :  "accordion"
        },
        items: [
            { xtype : "panel", title : "One Title",   html : "One"   },
            list,
            { xtype : "panel", title : "Three Title", html : "Three" },
            { xtype : "panel", title : "Four Title",  html : "Four"  },
            { xtype : "panel", title : "Five Title",  html : "Five"  },
            { xtype : "panel", title : "Six Title",   html : "Six"   }
        ]
    });

В этом случае заголовок панели был жестко закодирован как Один заголовок, Три заголовка и т. Д., Но я хочу отобразить результат, который я получаю из базы данных (я создал модель и получил результат для отображения) как название каждой панели ... как повторить и показать .. пожалуйста, помогите мне ..

Ответы [ 2 ]

0 голосов
/ 11 октября 2011

Я получил динамическое значение в панели аккордеона с помощью следующего

 var panel = new Ext.Panel({

layout: {
        type: "accordion"
    },

    initComponent : function() {

allVisitStore.data.each(function() {
                alert('inside teration');
                jsonObj.push({xtype:"panel", title: this.data['title'], html : this.data['patientId'], style : 'padding-bottom:10px;'});
            });

}
});
0 голосов
/ 01 октября 2011

Вы можете собрать результаты в массив, а затем добавить этот массив к элементам панели. Может быть что-то вроде этого:

var panels = [];
for ( var i=0; i<results.length; i++ ) { 
var p= '{ xtype : "panel", title : ' + results[i].title + ',   html : "' + results[i].html  + '"   },';
panels.push(p);
}

var panel = new Ext.Panel({
    fullscreen : true,
    scroll     : "vertical",
    layout     : {
        type :  "accordion"
    },
    items: panels
});
...