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 并没有改变。

参见示例 http://jsbin.com/kijisanepa/edit?js,output

在您的示例中,您覆盖了从 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);