我正在使用 sencha touch 2 并没有在 sencha 论坛中获得帮助,所以我希望你们能帮助我。
我想创建一个包含自定义项目的列表。在这个自定义项目中,我想要一个带有按钮作为项目的水平滚动列表视图。我试图做它 component.DataItem 但它对我不起作用。我还尝试在列表中添加自定义 xtype 作为项目,但这不起作用。
我认为这是一个简单的任务,但煎茶触摸对我来说是一个挑战。
所以请帮助我并告诉我,我怎样才能得到像这张照片所示的视图。
我正在使用 sencha touch 2 并没有在 sencha 论坛中获得帮助,所以我希望你们能帮助我。
我想创建一个包含自定义项目的列表。在这个自定义项目中,我想要一个带有按钮作为项目的水平滚动列表视图。我试图做它 component.DataItem 但它对我不起作用。我还尝试在列表中添加自定义 xtype 作为项目,但这不起作用。
我认为这是一个简单的任务,但煎茶触摸对我来说是一个挑战。
所以请帮助我并告诉我,我怎样才能得到像这张照片所示的视图。
您将要使用组件数据视图,而不是标准列表。本质上,您将需要首先定义一个 Ext.dataview.component.DataItem,然后将其实现到 DataView 中。下面是 DataView 指南中引用的 DataView 中按钮的简单示例:http://docs.sencha.com/touch/2-0/#!/guide/ dataview
首先创建数据项:
Ext.define('MyApp.view.DataItemButton', {
extend: 'Ext.dataview.component.DataItem',
requires: ['Ext.Button'],
xtype: 'dataitembutton',
config: {
nameButton: true,
dataMap: {
getNameButton: {
setText: 'name'
}
}
},
applyNameButton: function(config) {
return Ext.factory(config, Ext.Button, this.getNameButton());
},
updateNameButton: function(newNameButton, oldNameButton) {
if (oldNameButton) {
this.remove(oldNameButton);
}
if (newNameButton) {
this.add(newNameButton);
}
}
});
现在创建数据视图:
Ext.create('Ext.DataView', {
fullscreen: true,
store: {
fields: ['name', 'age'],
data: [
{name: 'Jamie Avins', age: 100},
{name: 'Rob Dougan', age: 21},
{name: 'Tommy Maintz', age: 24},
{name: 'Jacky Nguyen', age: 24},
{name: 'Ed Spencer', age: 26}
]
},
useComponents: true,
defaultType: 'dataitembutton'
});
在您的情况下,您需要使用水平滚动列表,而不是使用 DataItem 的按钮。这是我从这个答案中找到的一个例子:水平滚动列表
var list = Ext.create('Ext.DataView',{
store: store,
itemTpl: new Ext.XTemplate('<img src="{icon}" />'),
inline: { wrap: false },
scrollable: {
direction: 'horizontal',
directionLock: true
}
});
请注意,您可能还必须在第二个数据视图中使用组件才能实现带有图像的按钮