如何使用SharePoint Framework设置SharePoint项目权限

问题描述

我正在创建一个SP Web部件,并且有一个下拉菜单,允许用户从SP列表中选择一个项目。 我想阅读当前权限,然后允许用户通过按钮或通过下拉菜单(读取/编辑)来设置SharePoint列表中所选项目的权限。

这是我当前的两个功能

private _jeChange = (ev: React.FormEvent<HTMLdivelement>,option?: IDropdownoption,index?: number) => {
    this.setState({ 
      SelectedJE: option.text,JE: option.text
    
    });

    const selJE = this.state.SelectedJE;
    
    if (selJE && selJE.length > 0) {
      let _item = this.state.JobEvalItems.find((item) => {
        return item.JobRef == selJE;
      });
      this.setState({
        JEJobTitle: _item.JobTitle,JEEvalType: _item.EvalType,JEId: _item.Id,});

    }
    
  }

  private _jeSelectPermission = async () => {

    const ler = await sp.web.lists.ensure("JEItems");
    const list: IList = ler.list;

    const defs = await sp.web.roleDeFinitions();
    const ras = await list.roleAssignments();
    const user = await sp.web.currentUser();
    const r = await list.roleAssignments.add(user.Id,defs[0].Id);
    console.log(user);
  }

我想获得_jeChange()下拉菜单中选择的任何内容,以与_jeSelectPermission()函数一起使用。因此,例如,我希望用户选择列表项ID(2),然后他们单击按钮以授予对该项目的读取权限。我想我已经接近了,可以使用_jeSelectePermission()函数通过“完全控制”功能将当前用户(我已登录!)添加到根权限中,但是如上所述,我希望将读取权限添加到所选列表项中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)