SP.RelatedItemManager.getRelatedItems返回0项

时间:2017-05-19 10:41:30

标签: javascript sharepoint

我已经自定义了SharePoint 2016的TaskList。

在JS-Link选项下的编辑器模式中,我发现了这个: " SP.UI.RelatedItems.js | 〜sitecollection / _catalogs /母版/ FinTemplates / RelatedItems.js"

RelatedItems.js:

NotifyScriptLoadedAndExecuteWaitingJobs("SP.UI.RelatedItems.js");
//SP.SOD.notifyScriptLoadedAndExecuteWaitingJobs("SP.UI.RelatedItems.js");

(function () { 

function registerRenderer()
{
    var filedContext = {};
    filedContext.Templates = {};
    filedContext.Templates.Fields = {
        "LinkTitle": {
            "View": titleViewTemplate
        }
    };
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(filedContext);
}
function titleViewTemplate(ctx) {

    var title = ctx.CurrentItem.Title;              
    var context = SP.ClientContext.get_current();
    var relItems = SP.RelatedItemManager.getRelatedItems(context, ctx.listName, ctx.CurrentItem.ID);

    context.executeQueryAsync(
        function () {
            //return relItems[0].$2_1;
            $('a').filter(function (index) {return $(this).text() === title }).attr('href', relItems[0].$2_1);
        },
        function (sender, args) {
            console.log(args.get_message());
        }
    );

    return '<a>' + ctx.CurrentItem.Title + '</a>'
}

ExecuteOrDelayUntilScriptLoaded(registerRenderer, 'clienttemplates.js');
//ExecuteOrDelayUntilScriptLoaded(registerRenderer, 'SP.UI.RelatedItems.js');
 })();

在Google Chrome控制台下刷新页面后,会出现以下错误:

未捕获的TypeError:无法读取属性&#39; $ 2_1&#39;未定义的

许多故障排除指向我这个代码块:

  var relItems = SP.RelatedItemManager.getRelatedItems(context, ctx.listName, ctx.CurrentItem.ID);

relItems 获得0件物品! 变量如上下文 ctx.listName ctx.CurrentItem.ID 具有正确的值。

有什么想法吗?

0 个答案:

没有答案