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

时间:2018-09-07 19:29:24

标签: 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");
        }
        return ler.created;
    });

但未创建列。

我还尝试了来自herehere的代码示例,但都没有用。

1 个答案:

答案 0 :(得分:1)

如评论中所述,您的代码运行正常。

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

因此,现在您需要将该列添加到默认列表视图。为此,您只需要进行其他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;
    });