问题描述
我正在创建一个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 (将#修改为@)