sapui5 - CSS 样式不能动态设置(单元格颜色)
问题描述
我试图实现基于两个参数给出状态的要求。我能够获得最新状态,但无法获得单元格颜色。
场景:
Scenario # a b Final Status
---------- --------- --------- -----------------
1) ""(Blank) ""(Blank) ""(Blank)
2) "Y" ""(Blank) "Y"
3) "N" ""(Blank) "Y"
4) ""(Blank) "Y" "Y"(Yellow color)
5) ""(Blank) "N" "N"(Yellow color)
6) "Y" "Y" "Y"
7) "N" "N" "N"
8) "N" "Y" "Y"(Yellow color)
9) "Y" "N" "Y"(Yellow color)
XML 代码:
<Text id="idStatus" text="{parts :['parameter','parameter1'],
formatter: '.formatter.availableColor'}"></Text>
格式化程序js:
availableColor: function(available, available1) {
var that = this;
var idText = that.getView().byId("idStatus");
idText.removeStyleClass("yellow");
if (available === "" && available1 === "Y") {
idText.addStyleClass("yellow");
return "Keep";
} else if (available === "Y" && available1 === "Y") {
return "Keep";
} else if (available === "N" && available1 === "Y") {
idText.addStyleClass("yellow");
return "Keep";
} else if (available === "Y" && available1 === "") {
return "Keep";
} else if (available === "" && available1 === "") {
return available;
} else if (available === "" && available1 === "N") {
idText.addStyleClass("yellow");
return "Remove";
} else if (available === "N" && available1 === "N") {
return "Remove";
} else if (available === "Y" && available1 === "N") {
idText.addStyleClass("yellow");
return "Remove";
} else if (available === "N" && available1 === "") {
return "Remove";
}
}
};
CSS样式表:
.yellow {
background-color: #FFFF66 !important;
}
json数据:
{
"parameter": "",
"parameter1": "Y",
}
解决方案
如果您考虑遵循 Fiori 设计指南/最佳实践,请查看https://experience.sap.com/fiori-design-web/responsive-table。在那里,它还指出:
对于状态信息,使用语义颜色。
不要使用自定义 CSS 为整个单元格着色,而是尝试使用支持语义颜色的控件,例如sap.m.ObjectStatus
(Demo Kit sample)。
这是一个根据规则集展示表格的演示:https ://embed.plnkr.co/02iC6S0ffMG6xwXM
推荐阅读
- python - 字典验证 - 程序首先输入可能是错误的
- xquery - 编译时错误:找到“$”而不是“}”
- javascript - 如何根据键值选择对象 - VueJS
- javascript - 来自 JS SPA 的公共 OAuth
- javascript - 在这种情况下,我不明白 $ 符号的含义
- flutter - Flutter 动画:使用 opencontainer 进行 showSearch
- php - 如何在我的代码中用 bind_result 替换 get_result
- ruby-on-rails - 在 ReactJS 中使用 Rails actioncable 更新状态的最佳方法
- javascript - 如何获得 api 响应以角度解决的剩余时间?
- java - 如何解决 Java 套接字中的“java.net.SocketException:连接重置”