【发布时间】:2013-03-08 06:55:20
【问题描述】:
我有一个要求,我只需要为 Sencha List 中的某些项目添加披露按钮。知道如何做到这一点吗?
将 onItemDisclosure 设置为 TRUE 会为列表中的所有项目启用此选项。但我只想根据特定条件为子集启用它。
非常感谢任何帮助。
【问题讨论】:
标签: extjs4 sencha-touch sencha-touch-2
我有一个要求,我只需要为 Sencha List 中的某些项目添加披露按钮。知道如何做到这一点吗?
将 onItemDisclosure 设置为 TRUE 会为列表中的所有项目启用此选项。但我只想根据特定条件为子集启用它。
非常感谢任何帮助。
【问题讨论】:
标签: extjs4 sencha-touch sencha-touch-2
使用列表的disclosureProperty。来自文档:
检查每条记录的属性,以显示每条记录的披露。此属性必须为 false 以防止在项目上显示披露。
默认为:“披露”
因此,您只需在模型中添加名为 disclosure 的字段即可。
Ext.define('MyModel', {
extend:'Ext.data.Model',
fields:[//other fields
{
name:'disclosure',
convert: function(value, record){
// logic to determine if disclosure should be displayed.
// return Boolean value
}
}
]
});
【讨论】:
value 不是status 的值,它是您的json blob 中的公开属性的值(未定义或null,因为您没有发送它并且正在创建现在从一无所有)。如果要获取状态字段的值,请从传入的记录中获取它。if (record.get('status') === "Live! Train Status") { /* ... */ }