Мне нужно построить таблицу, состоящую из 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");};
}
}),
]
})
});
Я не могу определить столбец Icon правильно. В приведенном выше коде показано, что я пытался сделать после поиска ответа в течение некоторого времени.
Как я могу заставить его работать?
Если я return from formatter 'new sap.ui.core.IconPool.getIconURI (" accept ")', я получаю 'Uncaught TypeError: s.indexOf не является функцией'. Вместо этого я «вернул» sap-icon: // accept «;» и работает отлично. Благодаря! – keshet