我的 ListItems 一直显示为没有文字的空白。
最初,我的项目只是使用 {field_name} 使用 List 对象的 itemTpl 定义格式化。这工作得很好,但当然功能有限。
因此,我使用 dataMap 查看了 DataView 的 ST2 文档指南(http://docs.sencha.com/touch/2-1/#!/guide/dataview)并尝试复制它。但是,无论出于何种原因,我似乎无法让内容实际呈现。我得到了预期数量的结果,并且披露行动确实打开了正确/相应的记录。只是这些项目都是空白的,没有文字。
商店通过代理加载 JSON 数据。数据有许多字段,包括一个称为“标题”的字段。现在,这就是我想要在列表项中设置样式和显示的内容。根据“标题”内容,我可能会采用不同的样式。
像往常一样,非常感谢任何帮助。谢谢!
穆罕默德。
加利福尼亚州圣何塞
我的列表对象:
Ext.define('qxtapp.view.ResultsList', {
extend: 'Ext.dataview.List',
alias: 'widget.resultsList',
xtype: 'resultsList',
requires: [
'qxtapp.view.ResultsListItem',
'Ext.plugin.ListPaging'
],
config: {
defaultType: 'resultslistitem',
loadingText: 'Performing search...<br>This may take up to 1 minute.',
emptyText: 'No results found.',
useComponents: true,
store: 'SearchResults',
onItemDisclosure: true,
plugins: [
{
xclass: 'Ext.plugin.ListPaging',
autoPaging: true
}
]
}
});
我的 ListItem 对象:
Ext.define('qxtapp.view.ResultsListItem', {
extend: 'Ext.dataview.component.ListItem',
xtype : 'resultslistitem',
config: {
captionPanel: true,
dataMap: {
getCaptionPanel: {
setText: 'caption'
}
}
},
applyCaptionPanel: function(config) {
return Ext.factory(config, Ext.Panel, this.getCaptionPanel());
},
updateCaptionPanel: function(newCaptionPanel, oldCaptionPanel) {
if(oldCaptionPanel) {
this.remove(oldCaptionPanel);
}
if(newCaptionPanel) {
this.add(newCaptionPanel);
}
}
});