typescript - 如何使用 typescript 将 dom 元素列表添加到 webpart 列表中以进行 spfx 开发?
问题描述
因此,我正在使用有人创建的名为react-tour-pnpjs 的 ReactTour开发自定义 spfx webpart 。
在代码中,它获取部分、列和控件的列表(称为 webpart 列表),然后在 GetAllWebparts() 函数中使用该数组。当您配置 web 部件时,您可以从页面中选择 web 部件,以便您进行游览。下面是抓取webparts的代码。
public async GetAllWebpart(): Promise<any[]> {
// page file
const file = sp.web.getFileByServerRelativePath(this.context.pageContext.site.serverRequestPath);
const page = await ClientSidePage.fromFile(file);
const wpData: any[] = [];
page.sections.forEach(section => {
section.columns.forEach(column => {
column.controls.forEach(control => {
var wpName = {}
var wp = {};
if (control.data.webPartData != undefined) {
wpName = `sec[${section.order}] col[${column.order}] - ${control.data.webPartData.title}`;
wp = { text: wpName, key: control.data.webPartData.instanceId };
wpData.push(wp);
} else {
wpName = `sec[${section.order}] col[${column.order}] - "Webpart"`;
wp = { text: wpName, key: control.data.id };
}
wpData.push(wp);
});
});
});
return wpData;
然而,我的客户希望在游览中包含导航栏,所以我知道我需要使用类似这样的东西来获取导航栏元素:
const nav = document.getElementById("nav");
但我不完全确定如何将其添加到 GetAllWebparts() 函数正在向 PropertyPaneConfiguration 中的部件列表提供的 webpart 列表中,非常感谢任何帮助!
PS:我对编码有点了解,但我没有受过任何正规培训,所以这可能很简单,但我不知道!
解决方案
推荐阅读
- c# - 损坏的 aspx 和 cs 文件显示为 aspx.cs.lokf 我正在使用 vs2015
- java - 什么是 Cloud Foundry 中的 manifest.yml 文件,我为什么需要它?
- node.js - 当两个包具有相同名称时,如何安装正确的 NPM 包?
- method-signature - 合格的电子签名
- c++ - 当外部依赖在对象生命周期中不断变化时,如何设计依赖注入?
- java - Android Studio 虚拟设备可以识别外部生物识别扫描仪吗?
- python - 如何使用 StandardScaler 正确扩展训练、验证和测试集?
- android - Kotlin:计算 Jsoup 中的元素
- docker - 如何在 Windows 上运行 Linux 容器 - 运行 .\docker.exe pull ubuntu 时出错
- php - 我已经安装了 FFMPEG,但在 PHP 脚本中找不到它