DataView и пользовательский шаблон, который обернет все элементы - PullRequest
0 голосов
/ 31 марта 2012

У меня есть контейнер с типом DataView:

Ext.define('CustomView', {
    extend: 'Ext.DataView'
});

Кроме того, у меня есть удаленный магазин, который содержит: [{id: 1, name: 'abc'}, {id: 2, name: 'test'}].

Я хочу отобразить эти элементы в dataview таким образом в html:

<ul>
     <li>abc</li>
     <li>test</li>
</ul>

В Sencha Touch 1 этого можно добиться, установив конфигурацию tpl и тег <tpl for="."> xtemplate. В Sencha Tocuh 2 это больше не работает, потому что setTpl работает только при наличии «данных» и я использую хранилище. setItemTpl устанавливает шаблон для каждого элемента, поэтому он также не работает. Я мог бы вручную визуализировать шаблон и использовать setHtml, но событие «tap» не сработало бы для элементов.

Как я могу настроить свой шаблон так, чтобы он отображал нужный HTML в SC2, сохраняя событие tap?

1 Ответ

1 голос
/ 02 апреля 2012

dataview используется для пользовательских визуализаций магазинов ( Sencha Docs Dataview ).

«Использовать DataView всякий раз, когда вы хотите многократно показывать наборы одного и того же компонента»

К сожалению, оно также имеет то же ограничение, что и listview, в том смысле, что вы можете указать только itemTpl(или dataitem) и не может контролировать разметку, сгенерированную для всего компонента.

Я думаю, что ваш лучший вариант - создать собственное представление с использованием panel и самостоятельно написать логику чтения store,

...