gpt4 book ai didi

javascript - 根据文本值设置图标

转载 作者:行者123 更新时间:2023-12-02 16:13:16 27 4
gpt4 key购买 nike

我需要构建一个由两列组成的表格 - 第一列是姓名,第二列是该人是否获得批准。

这是我从服务器获取的 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");};
}
}),
]
})
});

我无法正确定义图标列。上面的代码显示了我在寻找答案一段时间后尝试做的事情。

我怎样才能让它发挥作用?

最佳答案

几乎很好:-)您忘记包含要应用格式化程序的字段(在本例中为src)

改变

    new sap.ui.core.Icon({
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.Icon({
src : {
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");};
}
}
}),

关于javascript - 根据文本值设置图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29919316/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com