DataView和将包装所有项目的自定义模板

时间:2012-03-31 17:36:39

标签: sencha-touch sencha-touch-2

我有一个DataView类型的容器:

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

另外,我有一个包含以下内容的远程商店:[{id: 1, name: 'abc'}, {id: 2, name: 'test'}]

我想在html中以这种方式在dataview中显示这些项目:

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

在Sencha Touch 1中,我们可以通过设置tpl config和<tpl for="."> xtemplate标记来实现。在Sencha Tocuh 2中,它不再起作用,因为setTpl只在“数据”存在且我使用商店时才有效。 setItemTpl为每个项目设置模板,因此它也不起作用。我可以手动渲染模板并使用setHtml,但'tap'事件不适用于项目。

如何设置我的模板以使其在SC2中呈现所需的html以保持点击事件?

1 个答案:

答案 0 :(得分:1)

dataview用于商店的自定义呈现(Sencha Docs Dataview)。

“只要您想多次显示同一组件的集合,就使用DataView”

不幸的是,它也与listview具有相同的限制,因为您只能指定itemTpl(或dataitem),并且无法控制为整个组件生成的标记。

我认为您最好的选择是使用panel创建自定义视图并自行编写store读取逻辑。