UI5 ListItem改变DetailAndActive Icon
UI5 ListItem change DetailAndActive Icon
我想更改 "pen" 类型为 DetailAndActive 的 ListItem 的图标
我已经找到了以下解决方案:
但这曾经不适用于模型中的绑定项目。
因此,我也尝试创建一个自定义列表控件。
sap.m.List.extend('my.List', {
metadata: {
properties: {},
aggregations: {
items: {
type: "my.StandardListItem",
multiple: true,
singularName: "item"
}
}
},
renderer: {}
});
绑定本身正在运行。但是 detailIcon 并没有改变。
在您的示例中,您覆盖了从 SAP-Framework 生成的 "setDetailIcon" 方法。
setDetailIcon: function(icon) {
console.log(icon)
this.DetailIconURI = sap.ui.core.IconPool.getIconURI(icon);
},
所以在方法中你需要调用
this.setProperty("detailIcon", icon);
这会设置您的 属性 的值并触发重新渲染。
如果您不想重新呈现您的列表项,请使用
this.setProperty("detailIcon", icon, true);
我想更改 "pen" 类型为 DetailAndActive 的 ListItem 的图标
我已经找到了以下解决方案:
但这曾经不适用于模型中的绑定项目。 因此,我也尝试创建一个自定义列表控件。
sap.m.List.extend('my.List', {
metadata: {
properties: {},
aggregations: {
items: {
type: "my.StandardListItem",
multiple: true,
singularName: "item"
}
}
},
renderer: {}
});
绑定本身正在运行。但是 detailIcon 并没有改变。
在您的示例中,您覆盖了从 SAP-Framework 生成的 "setDetailIcon" 方法。
setDetailIcon: function(icon) {
console.log(icon)
this.DetailIconURI = sap.ui.core.IconPool.getIconURI(icon);
},
所以在方法中你需要调用
this.setProperty("detailIcon", icon);
这会设置您的 属性 的值并触发重新渲染。
如果您不想重新呈现您的列表项,请使用
this.setProperty("detailIcon", icon, true);