我无法找到使用JSLink自定义SP2013任务列表项目渲染的方法,以便完全改变列表项目的呈现方式,但也保留了默认提供的所有开箱即用功能。
我的意思是,我想将列表元素显示为彩色框,还要保留排序选项,“...”(打开菜单)图标等。
我怎样才能实现它?是否有任何文档可以找到所有内部字段的列表,如PercentComplete等,哪些渲染可以覆盖?
任何代码片段都会非常感激!
非常感谢!
答案 0 :(得分:1)
看看here
简而言之,您要做的是,在覆盖上下文对象中的Templates
对象上添加一个名为Fields
的对象。在此对象中,名称与列(字段)的静态名称相同的属性用于使用“视图”属性呈现值。所以,链接的例子是:
var overrideCtx = {};
overrideCtx.Templates = {};
// Override field data
overrideCtx.Templates.Fields = {
// PercentComplate = internal name of the % Complete
// View = you want to change the field rendering of a view
// <div ... = here we define what the output of the field will be.
'PercentComplete': { 'View' : '<div style="background: #F3F3F3; display:block; height: 20px; width: 100px;"><div style="background: #0072C6; height: 100%; width: <#=ctx.CurrentItem.PercentComplete.replace(" %", "")#>%;"></div></div>' }
};
// Register the override of the field
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx
使用此方法,您将保留其他字段中的默认功能。只需确保列在当前视图中可见。