如何获取特定 View 的计数列表项? 我想去掉 pivotControl-overflowDot,这样列表中的所有 View 都可以显示,而无需单击这些点。
我有以下代码:
<script>
function renderHeaderTemplateForDocuments(renderCtx, fRenderHeaderColumnNames){
var viewData = eval(renderCtx.ListSchema.ViewSelectorPivotMenuOptions);
ClientPivotControl.prototype.SurfacedPivotCount = 20;
return RenderHeaderTemplate(renderCtx, fRenderHeaderColumnNames);
var menu = $('ms-pivotControl-overflowDot');
menu.style.display = "none";
}
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
Templates: {
Header: renderHeaderTemplateForDocuments
}
});
</script>
我不知道元素的数量,我将 SurfacedPivotCount 设置为 20, 但我希望 SurfacedPivotCount 是动态的,基于 View 元素的数量。
谢谢!
最佳答案
当通过 CSR 自定义 SharePoint 列表时,可用 ListView 选项的数量可以这样确定:
var viewData = JSON.parse(renderCtx.ListSchema.ViewSelectorPivotMenuOptions);
var numOfViews = viewData.length - 3; //system menu options such as Create View, Modify View and menu delimiter are exluded
示例
下面的例子演示了如何显示所有可用的 ListView 选项
function renderHeaderTemplateForList(renderCtx, fRenderHeaderColumnNames){
var viewData = JSON.parse(renderCtx.ListSchema.ViewSelectorPivotMenuOptions);
var numOfViews = viewData.length - 3;
ClientPivotControl.prototype.SurfacedPivotCount = numOfViews;
return RenderHeaderTemplate(renderCtx, fRenderHeaderColumnNames); //render default Header template
}
SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
Templates: {
Header: renderHeaderTemplateForList
}
});
结果
关于javascript - 使用 javascript 获取 Sharepoint ListView 元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496577/