【问题标题】:Render a list in SharePoint在 SharePoint 中呈现列表
【发布时间】:2021-01-24 16:30:06
【问题描述】:

我在 Sharepoint 列表中使用此代码在标题后面添加一个小图标。代码在文本之后显示图标,但列表不像正常那样显示并且不再可访问,就像代码将其变成屏幕截图一样。

<script>
(function () {
   var excludeRows = [0,2,3];

    function renderListItemTemplate(renderCtx) {
        if(excludeRows.indexOf(renderCtx.CurrentItemIdx) > -1)
        {
                return ''; //do not render row
        } else {
        var ret = renderCtx.CurrentItem.Title + "<img src='https://example.com/sites/ud07/HRM/Plaatjes/image.png'/>";
                return ret;
}
        return RenderItemTemplate(renderCtx);
    }

    function registerListRenderer()
    {
       var context = {};
       context.Templates = {};
       context.Templates.Item = renderListItemTemplate;
       SPClientTemplates.TemplateManager.RegisterTemplateOverrides(context);
    }

    ExecuteOrDelayUntilScriptLoaded(registerListRenderer, 'clienttemplates.js');
})();
</script>

我需要更改哪些内容才能使其成为正常返回列表的正常渲染函数?

马可

【问题讨论】:

    标签: javascript list sharepoint render


    【解决方案1】:

    请参考以下演示:

    (function () {
    
        SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function () {
            var excludeRows = [0, 2];
    
            SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
    
                OnPostRender: function (ctx) {
                    var rows = ctx.ListData.Row;
                    rows.forEach((item, index) => {                    
                        if (excludeRows.indexOf(index) == -1) {
                            var rowElementId = GenerateIIDForListItem(ctx, item);
                            var tr = document.getElementById(rowElementId);
    
                            let jqueryO = $(tr);
                            let tardiv = jqueryO.find("td>div[field='LinkTitle']");
    
                            tardiv.append("<img src='https://abc.sharepoint.com/sites/sbdev/SiteAssets/MicrosoftTeams-image.png'/>");
                          
                        }
                    });
                }
            });
        });
    })();

    结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多