使用react spfx使用pagecontext在webpart中无法使用pnp创建新的Web

时间:2019-06-19 17:21:32

标签: typescript sharepoint-online spfx

我正在尝试检查用户是否具有@ pnp / sp列表中的权限,但取决于我所使用的URL是否有效。

public async getUserPermissions(pageContext: PageContext, listname: string) : Promise<boolean>{
        const web: Web = new Web(pageContext.web.absoluteUrl);
        return await web.lists.getByTitle(listname).currentUserHasPermissions(PermissionKind.EditListItems);
    }

我包含pageContext.web.absoluteUrl的console.log,它始终是正确的“ https://xxxx.sharepoint.com/sites/xxx

1 个答案:

答案 0 :(得分:0)

最后,我用下一个代码解决了我的问题:

public async getUserPermissions(pageContext: PageContext, listname: string) : Promise<boolean>{
        sp.setup({
            sp: {
              baseUrl: pageContext.web.absoluteUrl
            }
          });
        return await sp.web.lists.getByTitle(listname).currentUserHasPermissions(PermissionKind.EditListItems);
    }

问题是我的服务位于我的webpart文件夹之外,因此我不知道为什么(我会问pnp用户),它不能正确创建Web对象...