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

  1. 在项目的 package.json 文件中,标识所有 SPFx v1.15.0 包。 对于每个 SPFx 程序包:
    1. 卸载现有的 v1.15 包:

      npm uninstall @microsoft/{spfx-package-name}@1.15.0
      
    2. 安装新的 v1.15.2 包:

      npm install @microsoft/{spfx-package-name}@latest --save --save-exact
      

提示

适用于 Microsoft 365 的 CLI 提供了一个简单的分步指南,可用于将你的解决方案升级到最新 SharePoint 框架版本。

新增特性和功能

在权限范围审批时启用服务主体注册

当 SPFx 解决方案需要访问 API 时,我们允许管理员在租户管理员的“API 访问”页面中预先批准整个租户的这些权限范围。

以前假设并要求 API 已存在于租户中(在多租户 API 的情况下通过应用主体或服务主体),如果不是这样,则在权限范围审批期间会出现错误。

现在,开发人员可以在 package-solution.jsonwebApiPermissionRequests 部分中指定 appIdreplyUrl可选属性。

当存在这些属性时,管理员会在 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