我有以下 json 数据。
{
"pendingTasksVOs" : [{
"groupName" : "LAST_MONTH",
"documents" : [{
"description" : "kvk1",
"uploadDate" : "1-12-2012"
}
]
}, {
"groupName" : "OLDER",
"documents" : [{
"description" : "kvk2",
"uploadDate" : "1-11-2012"
}, {
"description" : "kvk3",
"uploadDate" : "1-10-2012"
}, {
"description" : "kvk4",
"uploadDate" : "1-01-2012"
}
]
}
]
}
我想在按 GroupName 分组的 Sencha Touch 列表中显示它。
我希望列表采用以下格式:
组名:Group1 ----------------------------------------- Description11 , UploadDate11 这应该是单独的可点击列表行 ----------------------------------------- Description12 , UploadDate12 这应该是单独的可点击列表行 ----------------------------------------- Description13 , UploadDate13 这应该是单独的可点击列表行 ----------------------------------------- ****************************** 组名:Group2 ----------------------------------------- Description21 , UploadDate21 这应该是单独的可点击列表行 ----------------------------------------- Description22 , UploadDate22 这应该是单独的可点击列表行 ----------------------------------------- ******************************
我正在尝试使用 Sencha Touch List 组件。但我不会按照上述要求获得清单
//This is my store
var store = Ext.create('Ext.data.Store', {
model: 'Demo.model.DocumentList',
rootProperty: 'pendingTasksVOs',
autoLoad: true,
grouper: {
groupFn: function(record) {
if (record && record.data.title) {
return record.get('groupName');
} else {
return '';
}
}
}
});
//template for list item
var listTemplate = new Ext.XTemplate(
'<tpl for=".">',
'{groupName}</br>',
'<ul>',
'<tpl for="documents">',
'{description} {uploadDate} </br>',
'</tpl>',
'</ul>',
'</tpl>'
);
// Initialize the main view
Ext.getCmp("pendingTasksListId").add(Ext.create('Ext.List', {
fullscreen: true,
itemTpl: listTemplate,
store: store,
groupField:'description',
grouped: true
}));
//DocumentListModel is defined under /app/model/
Ext.define('Demo.model.DocumentList', {
extend: 'Ext.data.Model',
requires : ['Demo.model.Doc'],
config: {
fields: ['groupName', 'documents'],
hasMany : {
model : "Demo.model.Doc",
associationKey: 'documents'
},
proxy: {
type: 'rest',
url : "/getPendingTasks",
reader: {
type: 'json',
rootProperty : 'pendingTasksVOs'
}
}
}
}
//Document Model is defined under /app/model/
Ext.define('Demo.model.Doc', {
extend: 'Ext.data.Model',
config: {
fields: ['description', 'uploadDate'],
belongsTo: "Demo.model.DocumentList"
}
});
});
我能够得到如下列表项:
组的名字, 说明11,上传日期11 说明12,上传日期12
但以上全部内容是可点击的。我希望每个 Description 和 UploadDate 对都是可点击的。
谁能指导我如何实现上述要求?