问题标签 [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 投票
0 回答
671 浏览

spfx - 带有输入框 tabIndex 的 MS Fabric DetailList 始终呈现为 -1

我正在向 Microsoft Fabric DeatialsList 中的列添加一个输入框。我将它设置在 IColumn 定义的 onRender 中。一切正常,除了 tabIndex 总是-1。我想将其设置为 0。

有任何想法吗?

0 投票
1 回答
620 浏览

sharepoint - 在 SPFx 中部署 WebPart 和扩展

我们有一个带有应用程序扩展器(大型菜单和一些外观和感觉 jquery teicks)和 Web 部件的解决方案。

我们正在尝试部署它。在 App Catalog 中获取开发版本并使用本地脚本运行它非常容易。扩展器似乎没有显示 l,但是 Web 部件正在工作。

我们想知道我们是否可以在不将脚本部署到 o365 CDN 的情况下部署发布版或生产版。这部分不清楚,因为我们认为我们可以将所有内容打包并放入 App Catalog...

如果我们不想使用 CDN,有什么指导方针吗?

0 投票
1 回答
460 浏览

reactjs - Devextreme 作为共享点框架的外部库

我在我的 spfx 解决方案中使用了一个非常大的库,我不仅希望在此应用程序内的 webpart 之间共享它,而且还希望在可能使用此库的任何其他 webpart 之间共享它。

我知道的

  • 我知道您可以包含外部库,例如 jquery 和一些类型与 npm 包分开的库。
  • 我知道,即使我在 externals 部分中引用了外部库,如果我不在代码中的任何地方导入它,它实际上也不会拉下库。
  • 我了解文档中的当前示例。我设法成功地使用了很棒的时刻时区。

我遇到的问题

我正在尝试使用 DevExtreme 和 devextreme-react 库。这个库非常大,所以我想在 webpart 请求它时从 cdn 中包含一次它,并继续对每个额外的 webpart 实例使用相同的脚本。问题是该库附带了包含在其中的类型。它在子文件夹 bundles/dx.all.d.ts 中,而不是在它自己的包中。它还有多个文件,您可以包含而不是包含整个库。此外,devextreme-react 依赖于 devextreme 库,因此它还包括来自 devextreme 的文件。

该项目要么不加载外部库,因为我没有包含它们,要么因为我没有正确导入它而无法编译..?也许?

我的问题是如何排除库,将其添加到外部配置,将其导入到我的项目文件中并仍然编译我的项目?

0 投票
1 回答
3878 浏览

httpclient - 在 spfx webpart 中使用 SPHttpClient 将文件上传到 SharePoint Online

我正在尝试在 spfx webpart 中使用 SPHttpClient 上传文件。

我正在尝试的代码是

但我不确定如何将文件内容添加到这个 httpClient API。

我想我们必须在 body 参数中将文件内容添加到 spOpts 中。不过我不确定。

任何帮助表示赞赏。谢谢。

0 投票
2 回答
1139 浏览

node.js - 设置我们的 SharePoint 框架开发环境时出现错误“您的 yo 版本已过时”

我正在 Windows 7 x64 中设置我们的 SharePoint 框架开发环境,如本视频所述:

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment

我成功安装了 Node.js + VS Code,现在我正处于安装yo包的阶段,使用以下命令:

但我得到了错误"Your yo version is outdated",如下所示:

所以我运行这个命令来升级yo

但我得到了同样的错误:

我还尝试运行这些命令:

但他们没有解决任何问题。

当我想打开yo时,如下所示,我得到了另一个错误:

有人可以请教吗?

0 投票
1 回答
386 浏览

azure - SharePoint 框架 AadHttpClient - 操作是实验功能的一部分

我正在尝试使用 SPFx 附带的 AadHttpClient 库连接到由 Azure AD 中的应用注册保护的自定义 API。

但是,当我在工作台中运行 Web 部件时,SharePoint Online(在租户 _layouts 中)我在控制台中收到一个错误,指出该功能是实验性的。

Error: The requested operation is part of an experimental feature that is not supported in the current environment.

据我从这篇文章中可以看出,它应该是一般版本。

连接到受 Azure AD 保护的 API 时,我们建议您使用 MSGraphClient 和 AadHttpClient 类,它们现在普遍可用。有关推荐模型的详细信息,请参阅在 SharePoint 框架解决方案中连接到受 Azure AD 保护的 API 和使用 MSGraphClient 连接到 Microsoft Graph。

当我转到 SP 管理站点中的 API 管理页面时,我会弹出一个说明

***使用 SharePoint 框架访问 Azure Active Directory 资源即将推出。

所以我有点困惑。

我还在 API 管理页面上收到错误消息说..

发现预期类型为“Edm.String[Nullable=False]”的空值。预期类型“Edm.String[Nullable=False]”不允许空值。

当我尝试在 PowerShell 中运行时,我也遇到了同样的错误

我不是 100% 确定我了解 API 管理页面的相关性 - 管理员是否需要为 Web 部件批准一次,然后所有用户都可以使用?

0 投票
1 回答
236 浏览

javascript - 创建未创建 pnp/sp 的列表列

所以我可以通过确保创建一个列表:

但不是创建列。

我也尝试过这里这里的代码示例,但都没有奏效。

0 投票
1 回答
216 浏览

microsoft-graph-api - 来宾用户 (Azure AD B2B) 能否从共享点页面调用图表(例如使用 spfx webpart)

现在 spfx 1.6 已经启动,我们支持调用 Azure 广告安全 API,例如 Microsoft Graph 和 Azure Functions。

我使用了来自https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient的示例来创建一个调用图表的简单页面。

我已经稍微扩展了这个示例,以调用一个本身通过 Azure AD 保护的 Azure 函数。

spfx webpart 调用以下图形 api:

https://graph.microsoft.com/v1.0/users ?$select=displayName,mail,userPrincipalName&$filter=(givenName%20eq%20%27Sender%27)%20or%20(surname%20eq%20%27Sender %27)%20 或%20(显示名称%20eq%20%27发件人%27)

天蓝色的功能很简单:

https://.azurewebsites.net/api/GetUserDetails?name=Sender

如果我以租户的普通用户身份登录,我可以成功调用图形 api 和 azure 函数。

如果我尝试以 Azure AD B2B 用户身份浏览该页面,我可以成功调用 azure 函数,但对图形的调用会遇到以下响应:

现在我确实知道 Azure AD B2B 用户在调用某些图形 API 时会遇到问题,也许 /users 就是这样一个 API - 但我想知道是否有任何文档可以告诉我 B2B 用户可以使用哪些图形 API称呼?

例如,我可以向 B2B 用户提供他们在我的租户中所属的所有 Microsoft 团队的列表吗?

作为记录,我已经尝试过两种类型的 B2B 用户。第一个是沼泽标准@outlook.com Microsoft 帐户,第二个是来自另一个 Office 365 租户的组织帐户。两个用户都从图形 api 调用中获得相同的返回值。

0 投票
1 回答
544 浏览

javascript - 无法创建 LookUpField

我正在创建一个新列表并尝试在列表中添加一个 LookUp 字段。

我检索要查找的列表:

然后我创建新列表和新字段:

我得到错误:

我从以下位置获得了字段名称和 TypeKind:

https://msdn.microsoft.com/en-us/library/office/dn600182.aspx#bk_FieldLookup

我也尝试使用该addLookup方法:

有错误:

0 投票
1 回答
762 浏览

typescript - SPFX - 长时间间隔后刷新 Web 部件

我正在编写一个 Web 部件以从 SharePoint Online 查询数据,返回的数据使用 DetailsList 组件显示,我遇到的问题是查询需要很长时间才能返回结果,Web 部件没有得到刷新并停留在“空”页面上:

在此处输入图像描述

对于需要 1-2 秒的快速查询,Web 部件会更新并正常显示结果:

在此处输入图像描述

我还想通过使用displayLoadingIndicator()向我的用户提供反馈,以显示 Web 部件很忙,但我无法让它工作。

这是我的代码(为简单起见缩写):

- NavigatorWebPart.ts

- 导航器.tsx