Визуализация списка в SharePoint

#javascript #list #sharepoint #render

#javascript #Список #sharepoint #визуализация

Вопрос:

Я использую этот код внутри списка 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>
  

Что мне нужно изменить, чтобы сделать его обычной функцией визуализации, которая возвращает список, как обычно?

Марко

Ответ №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'/>");
                      
                    }
                });
            }
        });
    });
})();  

Результат:

введите описание изображения здесь