0
我需要构建一个由2列组成的表格 - 第一个是名称,第二个是如果该人员已被批准。根据文本值设置图标
这里是JSON我从服务器获取:
{"records":[
{"approved":"Yes","name":"Doe John"},
{"approved":"No","name":"Doe Jane"}]}
我用上面的JSON到模型设置表。
我需要在第二列中显示图标,具体取决于“已批准”键的值:sap.ui.core.IconPool.getIconURI("accept")
(如果已批准)和sap.ui.core.IconPool.getIconURI("decline")
(否则)。
这里是我试图定义表行:
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData(data); //the above JSON response
oTable = sap.ui.getCore().byId("tableId");
oTable.setModel(oModel);
oTable.bindItems({
path: "/records",
template: new sap.m.ColumnListItem({
cells : [
new sap.m.Text({text: "{name}"}),
new sap.ui.core.Icon({ //my problem starts here
path: "approved",
formatter: function(approved){
if (approved==="Yes"){return new sap.ui.core.IconPool.getIconURI("accept");}
else{return new sap.ui.core.IconPool.getIconURI("decline");};
}
}),
]
})
});
我无法正确定义图标列。上面的代码显示了我在搜索答案一段时间后试图做的事情。
我该如何让它工作?
如果我返回格式化程序'new sap.ui.core.IconPool.getIconURI(“accept”)',我得到'Uncaught TypeError:s.indexOf不是函数错误。相反,我做了“返回”sap-icon://接受“;',它的工作完美。谢谢! – keshet