0

我正在使用 Sharepoint pnp js 库来创建一个列表: https ://pnp.github.io/pnpjs/sp/lists/

创建列表时如何指定列表 URL(不是标题)?

意味着,如果我希望我的列表 URL 看起来像这样(例如): https://contoso.sharepoint.com/sites/Site/lists/SomeCustomListUrl

lists/SomeCustomListUrl我很感兴趣在创建列表时如何指定部分。

例如,如果我使用 CSOM 创建它,则在 SPMeta2 中有Url参数,在列表定义中有参数。我在 pnp js 中找不到类似的东西?ListCreationInformationCustomUrl

如果 pnp 库不可能,是否可以使用 REST api 做到这一点?

4

2 回答 2

0

在这里更新以防万一,这仍然是 CSOM 和 PnPjs v2.0.9 之间的差距。

但是,作为一种解决方法,您可以创建以 URL 作为其标题的列表,并立即更新标题。例如:

const listUrl = "MyCustomList";
const listTitle = "My Custom List";

sp.web.lists.add(listUrl).then(res => res.list.update({ Title: listTitle }));

最终结果是一个 URL 为 的列表[web]/Lists/MyCustomList,但列表标题为My Custom List

使用 PnPjs 检索列表的后续调用应使用新标题,例如web.lists.getByTitle("My Custom List");.

于 2020-09-08T21:26:13.233 回答
0

在 PnP js 中,不需要指定 List Url,只需要传递 ListName,它会自动创建 List Url。它将在 SPFX 解决方案运行的站点创建列表,请查看以下演示:

  sp.web.lists.add("SomeCustomListUrl", "This is a description of Generic List.", 100, true, { OnQuickLaunch: true }).then(i => {
      console.log(i);
    })

这是 sp.web.lists.add 函数中的 all 参数:

在此处输入图像描述

于 2020-07-10T07:06:00.193 回答