Javascript 正在创建未创建pnp/sp的列表列

Javascript 正在创建未创建pnp/sp的列表列,javascript,typescript,spfx,Javascript,Typescript,Spfx,因此,我可以创建一个列表,只需确保: sp.web.lists.ensure(list) .then((ler: ListEnsureResult) => { if (ler.created) { console.log(list, " was created; creating column"); ler.list.fields.addText("myTestColumn"); }

因此,我可以创建一个列表,只需确保:

sp.web.lists.ensure(list)
    .then((ler: ListEnsureResult) => {

        if (ler.created) {
            console.log(list, " was created; creating column");

            ler.list.fields.addText("myTestColumn");
        }
        return ler.created;
    });
但不创建列


我还尝试了和中的代码示例,但两个示例都不起作用。

如评论中所述,您的代码运行良好

只是该列在列表视图中不可见。它已在列表中创建,并且在我们检查列表设置页面或尝试创建新列表项时可见

因此,现在需要将该列添加到默认列表视图中。为此,您只需进行额外的REST API调用,使其在默认列表视图中可见,如下所示:

sp.web.lists.ensure(list)
    .then((ler: ListEnsureResult) => {

        if (ler.created) {
            console.log(list, " was created; creating column");

            ler.list.fields.addText("myTestColumn").then(function(){

                const view = ler.list.defaultView;

                view.fields.add("myTestColumn");

          });           

        }
        return ler.created;
    });

您的代码运行良好。转到您的列表设置,该列将出现在那里。因此它会将一列添加到站点,而不是列表?那么,如何向列表中添加列?不,它只向列表中添加列。转到创建的列表,然后从右上角的齿轮图标单击列表设置,您将在那里找到列:哈!你说得对!非常感谢。知道如何显示这些列吗?