SharePoint 框架 v1.15.2 发行说明
此版本引入了有关 Microsoft Viva、Microsoft Teams 和 SharePoint 的功能的更新。
发布时间:2022 年 8 月 2 日
重要
此页面提供与特定 SPFx 发行版本相关的详细信息。 此页面不包含开发 SPFx 解决方案(包括 SPFx Node.js、Yeoman 和其他工具)而必须安装的其他 SPFx 必备组件。
若要了解有关这些必备组件的详细信息,请参阅设置 SharePoint 框架开发环境。
安装最新发布的版本
通过包含 @latest 标记安装 SharePoint 框架 (SPFx) 的最新版本:
npm install @microsoft/generator-sharepoint@latest --global
将项目从 v1.15.0 升级到 v1.15.2
- 在项目的 package.json 文件中,标识所有 SPFx v1.15.0 包。 对于每个 SPFx 程序包:
卸载现有的 v1.15 包:
npm uninstall @microsoft/{spfx-package-name}@1.15.0
安装新的 v1.15.2 包:
npm install @microsoft/{spfx-package-name}@latest --save --save-exact
提示
适用于 Microsoft 365 的 CLI 提供了一个简单的分步指南,可用于将你的解决方案升级到最新 SharePoint 框架版本。
新增特性和功能
在权限范围审批时启用服务主体注册
当 SPFx 解决方案需要访问 API 时,我们允许管理员在租户管理员的“API 访问”页面中预先批准整个租户的这些权限范围。
以前假设并要求 API 已存在于租户中(在多租户 API 的情况下通过应用主体或服务主体),如果不是这样,则在权限范围审批期间会出现错误。
现在,开发人员可以在 package-solution.json
的 webApiPermissionRequests
部分中指定 appId
和 replyUrl
的可选属性。
当存在这些属性时,管理员会在 API 审批过程中获得标准的 Azure AD 应用注册同意。
媒体的新操作类型 - 正式发布
媒体上传操作类型现已正式发布。
ISPFxAdaptiveCard.actions?: (
| ISubmitAction
| IOpenUrlAction
| IShowCardAction
| IGetLocationAction
| IShowLocationAction
| ISelectMediaAction // Raise a file picker or native media picker
)[];
可按如下所示配置位置操作:
actions: [
{
type: 'VivaAction.GetLocation',
id: 'Get Location',
parameters: {chooseLocationOnMap: true}
}
{
type: 'VivaAction.ShowLocation',
id: 'Show Location',
parameters: parameters: {locationCoordinates: {latitude: 40, longitude: 40}}
}
]
可按如下所示配置 SelectMedia 操作:
actions: [
{
type: 'VivaAction.SelectMedia',
id: 'Select File',
parameters: {mediaType: MediaType.Image, allowMultipleCapture: true, maxSizePerFile : 200000, supportedFileFormats: ['jpg']},
title: 'Select File'
}
]
操作的呈现如下所示:
选择媒体操作可用于从本机设备中选择图像。 在浏览器中,它使用文件选取器来帮助访问重复的文件:
ESLint 规则更新
根据收到的来自生态系统的反馈,我们“宽松”地应用了 ESLint 规则来删除强制的武断的编码样式做法。 这些规则现在也直接添加到 eslintrc.js
文件,以便在环境级别进行更简单的进一步修改。
延迟加载自适应卡片扩展快速视图
在页面上加载 ACE 时,我们同时加载卡片视图和快速视图。 但是,在快速视图与之交互之前,我们不需要加载该快速视图。 通过延迟加载快速视图,我们将在加载 ACE 时提升性能。
下面是延迟加载快速视图的示例。
删除类中扩展 BaseAdaptiveCardExtension
的导入快速视图文件。
this.quickViewNavigator.register(
QuickViewID,
() => import(
'./Path-To-Your-QuickView-File'
).then((component) => new component.QuickView())
);
this.quickViewNavigator.register
现在,回调参数允许返回或TView
直接返回Promise<TView>
:() => TView | Promise<TView>
已修复问题
June-July时间范围
- #7947 - 即使应用已从租户中删除,也可在页面上加载扩展
- #8191 - 第二次打开 SPFX Teams 应用时屏幕空白
- #8279 - 生产环境中的新图标
- #8301 - 重新访问自定义 Teams 时出错?app=portals 应用
- #8199 - 在页面中添加 Web 部件时不遵守清单中定义的
dataVersion
- #8272 - SPFx 1.15 - 使用表单自定义器在经典模式下查看现有列表项时出错
- #8266 - SPFx 1.15 - 表单自定义器在视图历史记录中不起作用
- #8251 -
onDispose
未被调用,Web 部件在单个应用页之间持久保存 - #5438 - 应用字段自定义工具会导致 Teams 文件选项卡中产生空单元格
- #8263 - SPFx v1.15 - gulp clean 无法删除 "releases" 文件夹
- #8260 - SPFx v1.15 - 请抑制不必要的 ESLint no-async-await 规则
- #8268 - 子目录中找不到 1.15 个资产文件
- #8236 - SPFx 1.15 - ESLint - TypeScript 版本,不受正式支持 @typescript-eslint/typescript-estree
- #7999 - 节点提取包引入的漏洞警报
- #8314 - SPFx v1.15 表单自定义工具 React 模板包含不正确的引用
- #8309 - 更新 serve.json 的架构以包括 intelliSense 的
serveConfigurations