所以我可以创建一个列表,只需确保:
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;
});
但未创建列。
答案 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;
});