问题标签 [spfx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
514 浏览

sharepoint - 如何更改 SPFx 中的页面导航链接?

我想构建一个 SharePoint 框架扩展,当它处于活动状态时,它会更改当前导航(通常是页面左侧的链接)。

当前的 SPFx Extensions 文档没有列出任何特定于BaseExtension导航的钩子或方法,所以我能想出的最好方法是在 中运行一些 jQuery onInit,这看起来不仅很hacky,而且容易出错,因为我d 正在操作由 React.js 管理的 DOM 的一部分。我想知道是否有更好的方法或更针对性的 API。

0 投票
1 回答
732 浏览

reactjs - SPFx 反应无法读取未定义的属性“形状”

您好我正在创建一个 SPFX 天气 webpart,我收到此错误:

在此处输入图像描述

当我运行 gulp build 时没有错误。我不确定如何调试我的问题。这是我遇到问题的 proptypes.shape() 的片段:

我想指出,我首先使用 react 创建了 webpart,它运行良好,但是当我创建一个 SPFX 应用程序并将我现有的代码转移到其中时。我遇到过这些错误。

这是我的 package.json

0 投票
1 回答
7963 浏览

excel - 如何在 Sharepoint 框架 (SPFx) 应用程序中使用 Excel Rest API 访问存储在 Sharepoint 在线文档库中的 Excel 数据?

我有一个使用 knockoutJS 的 Sharepoint 框架项目 (SPFx),其中应用程序将尝试使用 Excel Rest API 从存储在 Sharepoint 在线站点的 sharepoint 文档库中的 Excel 文件中读取数据。

我遇到了几个文档,但它没有给我一个具体的工作示例来说明如何做到这一点。

https://docs.microsoft.com/en-us/sharepoint/dev/general-development/excel-services-rest-api

https://docs.microsoft.com/en-us/sharepoint/dev/general-development/requesting-excel-workbook-data-from-sharepoint-server-using-odata

我无法使用此 URL 获取文档列表。

http:///_vti_bin/ExcelRest.aspx/Documents/Book1.xlsx

而且我相信我需要创建一些身份验证方法,以便应用程序用户可以在阅读文档之前访问它。

我之前没有在 Sharepoint Framework (SPFx) 应用程序中使用过 Excel Rest API 和 Microsoft Graph。

谁可以帮我这个事?我想看一个在共享点在线文档库中读取 excel 文件的完整工作示例。

0 投票
1 回答
168 浏览

spfx - 将 sp-dialog 与 react 项目一起使用时出错

我有一个正在运行的加载 ListView 的 tsx 文件。该项目加载正常。我运行了以下命令

npm install @microsoft/sp-dialog

然后在 tsx 中添加了以下 import 语句。

从' @microsoft/sp-http '导入{ SPHttpClient }

当我使用 gulp build 时,我收到以下错误。

_Error - typescript - node_modules\@microsoft\sp-dialog\node_modules\@microsoft\sp-core-library\lib\deferredCl ass\DeferredClass.d.ts(25,24): 错误 TS1005: ';' 预期的。_

我可以看到错误指向 DeferredClass.ts 文件中的 abstract 关键字。我怎样才能解决这个问题?

0 投票
1 回答
670 浏览

sharepoint - 在 Visual Studio Code 项目中添加新的 Web 部件

我使用 Visual Studio Code 中的 Yeoman 创建了一个带有 HelloWorld Web 部件的新 Sharepoint 项目。

现在我想向该项目添加另一个 Web 部件。

如何使用 src/webparts 目录中的相同模板添加 Web 部件?

0 投票
1 回答
676 浏览

angular - Angular 5 和 Sharepoint SPFX

我将 Angular 5 与 SharePoint SPFX 框架一起使用。页面上的多个 webpart 一切正常,没问题,但我如何包含 Polyfill?我尝试包含在外部的 js 文件中,但不起作用,我尝试只将 polyfills.ts 中的所有内容导入 webpart.ts 文件,没有运气。

任何人都可以帮助解释如何在 IE 中获得 angular 5 和 spfx 渲染,chrome 没有问题,但 webparts 没有在 IE 中显示。

我尝试将这些脚本添加到外部但不工作:

0 投票
0 回答
636 浏览

spfx - SPFX 和工作台 IE11

尝试在 Workbench On-Premise 中的 IE 11 上运行 spfx 时出现以下错误

@font-face 未能通过 OpenType 嵌入权限检查。权限必须是可安装的。文件:fabricmdl2icons-2.23.ttf

webpart 无法在 IE 中加载,但在 chrome 中运行良好

让 spfx 在 IE 11 工作台上工作的任何想法或解决方法?

0 投票
1 回答
1123 浏览

reactjs - 更改 SPFX 属性窗格中的属性时重新调用 api

这可能是一个非常愚蠢的问题,但在这里。

我的属性窗格中有一个下拉字段,其中填充了当前站点的所有列表。这工作没问题。

当我更改下拉列表时,我使用列表的 ID 填充属性。在我的反应组件中,我调用以下内容

我的假设是,当 Web 部件最初加载时,组件会呈现到页面上,但如果我更新属性,则不会调用此 componentDidMount,因为从技术上讲它已经安装。

我想做的是让组件在我更改列表(下拉属性)后重新渲染。我目前拥有的将起作用,因为一旦您保存页面,它将呈现所有检索到的项目。我只是假设有一种方法可以使它动态化。

我的反应经验至少可以说是基本的,所以任何方向都是完美的。

干杯

特鲁兹

0 投票
1 回答
187 浏览

sharepoint-online - SPFx REST 安全令牌

嘿 SPFx 开发人员,我在一个小型 SPA 中遇到了一些安全令牌问题,我在 SPFx 框架之上开发,该框架与 SharePoint Online 中的数据进行交互。

如果应用程序处于空闲状态或仅执行 GET 请求,则安全令牌似乎过时并且更新或插入记录的 POST 请求失败(400 或 403 错误)。如果我刷新页面然后尝试相同的操作它会成功。

我正在使用带有 React 和 sp-pnp-js 库的 SPFx 框架来执行 REST 操作。

这是我的 TS 服务的代码片段:

如您所见,我只是使用本机 sp-pnp-js 函数,如果有区别,我可以使用 HTTP 客户端手动重写它们......

任何帮助将不胜感激:) 提前致谢!

0 投票
1 回答
825 浏览

c# - 当卡片具有超过 5 个操作时,自适应卡片不会在 Spfx 上呈现

问题:不渲染超过五个动作

背景:

我正在将 BotFramework-WebChat 与 SharePoint 框架集成,一切正常。但是,当我尝试在 WebChat 中显示具有超过 5 个操作的自适应卡片时,聊天显示给我一张带有“无法呈现卡片”文本的卡片,但如果在 BotFramework-Emulator 中测试可以正常工作或控制台 Directline 可以正常工作。

对于测试建议,我编写了一个 C# 方法,您可以在其中传递要在聊天中显示的操作数。

使用自适应卡进行测试

问题:如果有五个以上的操作,则呈现带有“无法呈现卡片”消息的卡片

异常:渲染一张具有五个以上动作的自适应卡片 private async Task MessageReceivedAsync(IDialogContext context, IAwaitable argument) { var message = await argument; var 回复 = context.MakeMessage();

截图:

使用 HeroCard 进行测试:

我只是尝试使用 HeroCard 而不是 AdaptiveCard。在这种情况下,当超过 5 个按钮时,只显示前 5 个按钮。也许这是一个限制?

问题:卡片仅呈现前五个动作

异常:渲染超过五个动作的英雄卡