Я использую PnPJS в веб-части SPFx, в которой у меня есть метод установки пользовательских разрешений на уровне элементов для определенных элементов в нескольких списках. Мой код выглядит следующим образом:
let listIds: string[] = [
"LISTGUID1",
"LISTGUID2"
];
for (const listId of listIds) {
const listItems: Item[] = await sp.web.lists
.getById(listId)
.items
.filter(`LookupFieldId eq ${lfId}`)
.get();
if (Validate.ArrayWithElements(listItems)) {
for (const item of listItems) {
await item.breakRoleInheritance(false);
await item.roleAssignments.add(userId, roleDefId);
}
}
}
Я получаю сообщение об ошибке в следующей строке:
await item.breakRoleInheritance(false, false);
Сообщение об ошибке выглядит следующим образом:
Uncaught (в обещании) TypeError: item.breakRoleInheritance не является функцией
Это также не работает, когда я приводил результат явно к типу Item
. Класс Item
расширяет SharePointQueryableShareableItem
, а SharePointQueryableShareableItem
расширяет SharePointQueryableSecurable
. Метод определен в последнем.