我在sharepoint的显示模板中有以下代码,我有一个对象数组,我需要得到以下结果。
Name1
Name2
Name3
因此,我可以使用工具提示替换sharepoint多人用户字段的默认呈现。
但是,我不知道如何迭代然后连接:
截图:
代码:
// List View - Substring Long String Sample
// Muawiyah Shannak , @MuShannak
(function () {
// Create object that have the context information about the field that we want to change it's output render
var projectTeamContext = {};
projectTeamContext.Templates = {};
projectTeamContext.Templates.Fields = {
// Apply the new rendering for Body field on list view
"Project_x0020_Team": { "View": ProjectTeamTemplate }
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(projectTeamContext);
})();
// This function provides the rendering logic
function ProjectTeamTemplate(ctx) {
var projectTeamValue = ctx.CurrentItem[ctx.CurrentFieldSchema.Name];
//newBodyvalue should have the list of all display names and it will be rendered as a tooltip automaticlaly
return "<span title='" + projectTeamValue + "'>" + newBodyValue + "</span>";
}
答案 0 :(得分:1)
你可以&#34;映射&#34;将projectTeamValue
数组对象的属性值转换为新数组,然后&#34; join&#34;这些值一起使用(使用&#34;,&#34;作为此示例中的分隔符)一次性完成:
var newBodyValue = projectTeamValue.map(function(person) {
return person.value;
}).join(", ");
如果您的projectTeamValue
数组看起来像:
[{ value: "Name1" }, { value: "Name2" }, { value: "Name3" }]
然后newBodyValue
将是:
"Name1, Name2, Name3"
附注:{8}在IE 8及以下版本中不可用,但应该可以在其他所有浏览器中使用。