在我的XML视图中,如果来自模型部件的值是“ S”或“ P”,我想显示“是”,而其余所有值都希望显示“否”。
text="{= ${order>/parts} === 'S' ? "Yes" : ${order>/parts} === 'P' ? "Yes" : "No} }"/>
另外,如何写-
if ${order>/parts}
的字母为“ S” AND ${order>/stock}
的字母为“ A”,然后显示“是”,否则以类似的方式显示否?
答案 0 :(得分:2)
我尝试了这个小例子,它很好用。可能是因为在打开text属性和值(“是”和“否”)时都使用了双引号。尝试在值中将"
替换为'
。如果这样不起作用,则应检查{order>/parts}
是否未定义。
查看
<Input value="{= ${test1} === 'S' ? 'Yes' : ${test1} === 'P' ? 'Yes' : 'No'}" />
<Input value="{= ${test1} === 'S' ? ${test2} === 'P' ? 'Yes' : 'No' : 'No' }" />
或
<Input value="{= ${test1} === 'S' || ${test1} === 'P' ? 'Yes' : 'No'}" />
<Input value="{= ${test1} === 'S' && ${test2} === 'P' ? 'Yes' : 'No'}"/>
控制器
onInit: function() {
var oModel = new sap.ui.model.json.JSONModel({
test1: "S",
test2: "P"
});
var bindingContext = new sap.ui.model.Context();
bindingContext.oModel = oModel;
bindingContext.sPath = "/";
this.getView().setBindingContext(bindingContext);
this.getView().setModel(oModel);
}
答案 1 :(得分:2)
您应该阅读有关formatters的信息,这正是您所需要的
答案 2 :(得分:1)
希望这对您有帮助
<Input value="{= (${order>/parts} === 'S' || ${order>/parts} === 'P') ? 'Yes' : 'No' }" />
<Input value="{= (${order>/parts} === 'S' && ${order>/stock} === 'A') ? 'Yes' : 'No' }" />