【问题标题】:If - else condition in XML View UI5 applicationXML View UI5 应用程序中的 if - else 条件
【发布时间】:2018-08-10 05:09:58
【问题描述】:

在我想要显示“是”的字段之一的 XML 视图中,如果模型部件中的值是“S”或“P”,而其余所有值都希望显示“否”。

text="{= ${order>/parts} === 'S' ? "Yes" : ${order>/parts} === 'P' ? "Yes" : "No} }"/>

还有,怎么写—— if ${order>/parts} 有“S”AND ${order>/stock} 有“A”然后显示 Yes else No 在类似的概念中吗?

【问题讨论】:

    标签: data-binding sapui5


    【解决方案1】:

    你应该阅读formatters,这正是你所需要的

    【讨论】:

    • 我同意。但在这种情况下,现有代码是以这种方式存在的,我不得不快速调整它以适应另一种情况。
    【解决方案2】:

    我尝试了这个小例子,它工作得很好。可能是因为您在打开文本属性和值(“是”和“否”)时都使用了双引号。尝试将您的值中的" 替换为'。如果这不起作用,您应该检查{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'  &amp;&amp; ${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);
        }
    

    【讨论】:

    • 是的,它适用于 ' 而不是 "。另外,对于 AND 案例有什么建议吗?
    • 我也添加了 AND 案例。希望这会有所帮助。
    • 非常感谢@Matthijs。
    【解决方案3】:

    希望对你有帮助

    <Input value="{= (${order>/parts} === 'S' || ${order>/parts} === 'P') ? 'Yes' : 'No' }" />
    <Input value="{= (${order>/parts} === 'S' &amp;&amp; ${order>/stock} === 'A') ? 'Yes' : 'No' }" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多