通过控制器将属性绑定与硬编码文本结合在一起

时间:2019-06-18 07:14:26

标签: sapui5

我试图将从数据集中检索到的一些数据与硬编码文本绑定在一起。

我知道我可以通过将数据集和硬编码文本绑定在这样的视图中来解决此要求:

<Text id="textPropertyBinding-id" text="{/BusinessPartnerSet('0100000002')/WebAddress} - Success"/>

但是我想知道是否可以通过控制器实现同样的功能。

<Text id="textPropertyBinding-id" text=""/>
this.getView().byId("textPropertyBinding-id").bindText({
    parts: [
        {
            path: "/BusinessPartnerSet('0100000002')" + "/WebAddress"
        },
            // here I want to add hardcoded text: ' - Success'

    ]
});

我已经搜索了可以添加到绑定对象中的哪些属性,但是似乎找不到太多的信息。 我尝试使用属性textvalue,但不允许使用这些属性。

预期结果将是:

“网址-成功”

有专家的建议吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

根据您使用的版本,您可以使用像这样的格式化程序功能

this.byId("textPropertyBinding-id").bindText({
    path: "/BusinessPartnerSet('0100000002')/WebAddress",
    formatter: function (sText) {
        return sText + "- Success";
    }
});

从1.61开始,您还可以使用新的value参数定义硬编码文本

this.byId("textPropertyBinding-id").bindText({
    parts: [{
        path: "/BusinessPartnerSet('0100000002')/WebAddress"
    }, {
        value: "- Success"
    }]
});

PS:您不必先调用getView(),就可以从视图的控制器中直接使用byId()。