我目前有这样的分组:
码:
Ext.regModel('Contact', {
fields: ['firstName', 'lastName']
});
var store = new Ext.data.JsonStore({
model : 'Contact',
getGroupString : function(record) {
//return record.get('lastName')[0];
return record.get('group');
},
data: [
{firstName: 'Tung', lastName: 'Hauw', group: 'Parents'},
{firstName: 'Regina', lastName: 'Clarissa', group: 'Parents'},
{firstName: 'Melvin', lastName: 'Gilbert', group: 'Children'},
{firstName: 'Jeaffrey', lastName: 'Gilbert', group: 'Children'},
{firstName: 'Melissa', lastName: 'Merryl Gilbert', group: 'Children'},
{firstName: 'Jesica', lastName: 'Merryl Gilbert', group: 'Children'}
]
});
var list1 = new Ext.List({
flex: 1,
cls: 'list_simple',
sorters: ['firstName', 'group'],
itemTpl: '{firstName} {lastName}',
grouped: true,
groupTpl : [
'<tpl for=".">',
'<div class="x-list-group x-group-{id}">',
'<h3 class="x-list-header"><div class="header">{group}</div></h3>',
'<div class="x-list-group-items">',
'{items}',
'</div>',
'</div>',
'</tpl>'
],
onItemDisclosure: function(record, btn, index) {
Ext.Msg.alert('Tap', 'Disclose more info for ' + record.get('firstName') + ' ' + record.get('lastName'), Ext.emptyFn);
},
store: store
});
我需要针对特定群体进行特定披露。通过上面的代码,我得到了所有组具有相同的公开信息。我正在尝试实现以下设计:
没有披露父母的物品。如果在“父母”行上滑动,我们将看到“删除”按钮。此外,它还具有点击事件。
我不知道我应该在哪里移动/更改披露事件。有人可以帮我吗?
最佳答案
更改公开外观的最佳方法是使用小组的CSS类。如果添加规则以披露为目标。我不确定您使用的样式规则(我认为是webkit-mask-box-image)100%确定,但是如果您将这样的规则添加到CSS中,它应该可以工作...
x-list-group x-group-{id} .x-list-disclosure {
-webkit-mask: none;
-webkit-mask-box-image: none;
}
显然,更改
{id}
部分以反映您的父组的ID,这样,您的所有父项都不会显示披露图标。Reference
关于list - 如何仅将披露适用于某些群体?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8180950/