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