首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在SAPUI5中创建逗号分隔的列表?

如何在SAPUI5中创建逗号分隔的列表?
EN

Stack Overflow用户
提问于 2018-08-02 16:49:43
回答 2查看 842关注 0票数 0

我尝试在headerObject中创建一个逗号分隔的作者列表。

我有一个绑定并展开一个作者列表(ManyToMany):

代码语言:javascript
复制
<ObjectHeader responsive="true" fullScreenOptimized="true" title="{database>Title}" intro="{i18n>details_by} {database>AuthorDetails}">

这段代码给出了以下结果:

对于{database>AuthorDetails/Name},它什么也没显示出来。我怎样才能扩展作者?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-03 05:01:49

我认为我们可以简化控制器中的函数

代码语言:javascript
复制
commaSeparator: function(oData) {
    if (oData === null) {
        return "";
    }

    var oModel = this.getView().getModel("database");
    return oData.reduce(function(result, authorKey) {
      var obj = oModel.getProperty("/" + authorKey);
      return result === "" ? obj.Name : result + ", " + obj.Name;
    }, "");
},
票数 0
EN

Stack Overflow用户

发布于 2018-08-02 19:14:47

好的谢谢你的点子。我现在已经解决了这个问题。

查看:

代码语言:javascript
复制
 intro="{path: 'database>AuthorDetails', formatter: '.commaSeparator'}

控制器:

代码语言:javascript
复制
        commaSeparator: function(oData) {
        if (oData === null) {
            return "";
        }

        var authorArray = [];

        for (var i in oData) {
            var authorKey = oData[i];
            var authorObject = this.getView().getModel("database").getProperty("/" + authorKey);
            authorArray.push(authorObject.Name);
        }

        var commaSeparatedString = authorArray.join(", ");
        return commaSeparatedString;
    },
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51649394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档