Список Sencha Touch 2 на листе не отображается - PullRequest
2 голосов
/ 20 февраля 2012

Мне нужен список имен для отображения на листе в сенсорном Сенча.На листе будут отображаться все остальные дочерние элементы, но не список.Я делаю что-то не так, или это просто не работает?Вот код:

myList = Ext.create('Ext.dataview.List', {
    store: myStore,
    itemTpl: '{firstName}, {lastName}'
});


mySheet = Ext.create('Ext.Sheet', {
    items: myList
});


Ext.create('Ext.Panel', {
    fullscreen: true,
    items: [ 
        mySheet,
        {
            xtype: 'button',
            text: 'Click Me',
            handler: function() {
                mySheet.show();
            }
        }
    ]
});

Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 21 февраля 2012

дать ему высоту = 300. согласно вашему требованию.

0 голосов
/ 26 июня 2013

@ jeremygerrits почти правильно.

IMO fit не будет работать, так как будет соответствовать всем компонентам.

Мое решение - использовать vbox / hbox в контейнере вида. Затем к компонентам, которые добавляются, просто добавьте flex: 1.

например. контейнер:

Ext.define('Tm.view.MyContainer', {
    extend: 'Ext.Container',
    xtype: 'holder',

    config: {
        fullscreen: true,
        layout: 'vbox'
    }
});

и компонент:

Ext.define('Tm.view.MyComponent', {
    extend: 'Ext.dataview.List',
    xtype: 'newc',

    config: {
        flex: 1,
        itemTpl: '{option_text}'
    }
});

и в контроллере (при условии, что ссылка на контейнер установлена):

    tpl = Ext.create('Tm.view.MyComponent');
tpl.setData(data);
this.getMyContainer().add(tpl);

Тогда любой добавленный компонент отображается правильно.

0 голосов
/ 28 февраля 2012

Попробуйте добавить макет к вашей конфигурации панели:

layout: 'fit'

Это должно сделать список заполнить оставшуюся часть пространства.

...