我已经自定义了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 具有正确的值。
有什么想法吗?