博客地址:http://blog.csdn.net/FoxDave
在现代化网站时一个重要方面就是要去了解在网站上使用的自定制都有哪些,因为不是所有已存在的自定制还能正常工作。一个我们常常会遇到的典型例子就是网站中的用来展示一些如法律声明等公司信息的横幅展示。
这一般会通过在页面中嵌入JavaScript代码来实现用户自定义操作,这种内容将不会显示在现代化页面上。绕个弯解决这个问题,我们可以将展示条通过SharePoint Framework应用自定义扩展来实现并部署到租户或网站上。
本文主要介绍一些对于列表和库的现代化用户接口不兼容的自定义并概要阐述如何修复它们。
列表和库中的自定义
这部分我们主要专注于列表和库的自定义,当SharePoint检测到某个列表或库具有不兼容的自定义内容的时候,它会自动退回到经典用户界面。因此如果我们想获得完全的现代化用户接口,就需要解决这些自定义设置。
JSLink
SharePoint中一个非常普遍的控制字段如何展示的模型就是使用JSLink。基本上,JSLink允许我们插入JavaScript脚本去渲染字段。在现代化用户接口中,类似的自定制可以在列表视图页面实现,编辑页暂不支持。
如果我们想要替换JSLink,我们可以考虑两个选项,哪个更好取决于现有解决方案的复杂程度:
- 如果只是关于如何显示数据,用字段格式化通常是最好的选择。
- 如果需要更多操作,使用SharePoint Framework字段自定制扩展通常是最好的选择。
使用字段格式化
我们可以使用字段格式化来自定制字段在SharePoint列表和库中如何显示。我们需要构建一个JSON对象来描述如何展示字段。格式化并不改变数据而只更改数据的逻辑显示样式。具有创建和管理列表视图权限的用户都可以使用它。
例如,一个有标题、工作量、指派给和状态字段的列表,并没有自定制,看起来是如下图的样子:
而通过字段格式化给工作量、指派给和状态字段加了自定制之后看起来可能是下图的样子:
之后我们会再具体介绍它的用法。
使用SharePoint Framework字段自定制扩展
SharePoint Framework扩展使我们能够通过使用熟悉的SharePoint Framework客户端开发工具和库,在现代化页面和列表库扩展用户体验。具体来说,字段自定制使我们能够完全控制字段数据要如何在我们的列表或库中展示。下图使一个例子:
同样地,之后也会进行更具体的介绍。
列表范围的用户自定义操作(添加自定义菜单或者嵌入JavaScript)
使用列表范围内的用户自定义操作如添加自定义菜单选项到列表的ribbon菜单或上下文菜单,或嵌入JavaScript是传统意义上常见的自定制模式,但是对于现代化列表和库来说并不可用了。幸运的是,使用SharePoint Framework扩展我们可以实现类似的自定制,特别是通过命令集扩展可以让我们添加自定义的上下文菜单项或自定义按钮到列表和库上。我们可以关联任意的JavaScript或TypeScript脚本到这些命令。
后续会进行更具体的介绍。