0

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

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;
    });

但不是创建列。

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

4

1 回答 1

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;
    });
于 2018-09-10T16:16:52.023 回答