我有一个看起来如下的表:
如图所示,红色边框标记为0。
我尝试如下
const sValuePath = "{Objects>" + oProp.NameChar + "}";
return new sap.m.ObjectNumber({
number: sValuePath,
unit: oProp.UnitTExt,
visible: "{= ${sValuePath} > 0}"
});
但是它不起作用。我在做什么错了?
答案 0 :(得分:1)
嗨,您可以在XML视图中使用表达式绑定,在该视图中为该列定义了单元格
像IDK一样的东西取决于您使用的东西,请参见下面的示例
<Text text="{=$(quantity) === '' ? '' : $(quantity) + '' + $(unit)}" />
希望,这会有所帮助
答案 1 :(得分:1)
正如塞巴斯蒂安·马赫(Sebastian Mahr)所说,您最终得到了两个大括号:
已经有花括号:
const sValuePath = "{Objects>" + oProp.NameChar + "}";
更多花括号:
visible: "{= ${sValuePath} > 0}"
从原始代码开始:
const sValuePath = "{Objects>" + oProp.NameChar + "}";
return new sap.m.ObjectNumber({
number: sValuePath,
unit: oProp.UnitTExt,
visible: "{= ${sValuePath} > 0}"
});
您需要添加字符串连接并删除多余的花括号,因此您将获得以下结果:
const sValuePath = "{Objects>" + oProp.NameChar + "}";
return new sap.m.ObjectNumber({
number: sValuePath,
unit: oProp.UnitTExt,
visible: "{= $"+ sValuePath + " > 0}"
});
答案 2 :(得分:0)
您不会在visibiliry属性中隐含字符串,即使您愿意使用双{}
尝试类似的东西
const sValuePath = "Objects>" + oProp.NameChar;
return new sap.m.ObjectNumber({
number: "{"+sValuePath+"}",
unit: oProp.Currency,
visible: "{= ${"+sValuePath+"} > 0}"
});