Sharepoint列表中[$Author.email] == '@me'判断当前用户是否为作者不生效
核心问题原因
你写的判断条件里将@me用单引号包裹,会被系统识别为普通字符串@me,而非SharePoint内置的、代表当前登录用户邮箱的动态变量,因此无法和[$Author.email]的实际字段值匹配。
正确配置方案
写法1:直接使用JSON表达式配置
将你原有条件里的'@me'去掉单引号即可,按钮显示属性的完整写法如下:
"display": "=if([$Author.email] == @me, 'visible', 'hidden')"
如果你是SharePoint本地部署版本(2019及更低),可以使用用户ID匹配的写法兼容性更好:
"display": "=if([$Author.id] == @currentUser.id, 'visible', 'hidden')"
写法2:可视化配置(无需写代码)
在按钮的条件显示设置面板中,直接选择匹配规则为:
- 字段:作者
- 运算符:等于
- 值:当前用户
保存后即可生效,无需手动写表达式避免语法错误。
验证检查项
- 确认列表的
作者字段没有被设置权限限制,当前用户可正常读取该字段的属性值 - 确认JSON表达式的层级正确,是写在对应按钮的
customRowAction配置下的display属性中
内容的提问来源于stack exchange,提问作者Royz
相关产品推荐
相关产品推荐

