JSLink на Listitems отключает функцию сортировки
При попытке поместить следующий скрипт в CEWP в Listview:
; (function ()
{
var fieldJsLinkOverride = {};
fieldJsLinkOverride.Templates = {};
fieldJsLinkOverride.Templates.Fields =
{
'Title': { //Titelfeld
'View': function () {
return '<a href=\" //url of th sp site' + ctx.CurrentItem.ItemID+ '\" target=\"_blank\">'+ctx.CurrentItem.Title+'</a>'
}
}
};
// Register the rendering template
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(fieldJsLinkOverride);
})();
Таким образом, это меняет поле Заголовок на желаемую ссылку, все работает нормально, но когда я пытаюсь отсортировать список, он возвращает следующее:
Unable to get property 'ItemID' of undefined or null
Кто-нибудь знает эту проблему или может найти решение для нее?
1 ответ
Ты используешь ctx
в вашем коде, но вы не передали его в свою функцию..
Помните, что каждой функции, которую вы пишете для JS Link, будет передан объект "context" в качестве параметра. Из этого объекта вы можете получить свойства о текущем списке, текущем элементе списка и других объектах.
Смотрите ниже код. Здесь мы проходим ctx
к функции. Попробуй это:
{
'Title': { //Titelfeld
'View': function (ctx) {
return '<a href=\" //url of th sp site' + ctx.CurrentItem.ItemID+ '\" target=\"_blank\">'+ctx.CurrentItem.Title+'</a>'
}
}
};