首页 > 解决方案 > 我的 JSON 是“有效的”,但在 SharePoint 列中不起作用

问题描述

我错过了什么?这个想法是,这将更新列表上的状态列。我从 Microsoft 的关于在 SharePoint 中格式化列的社区帖子中提取信息,然后将代码从 CSS 类 (sp-field-severity--low) 更改为十六进制代码以获得更大的灵活性。我还添加了一些额外的选项,因为 5 对我来说还不够。所有 JSON 验证器的状态都是有效的,但是当保存在列中时,没有任何变化 - 没有错误,nada。

 {
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "style": {
    "background color": "=if(@currentField == 'New', '#89CFF0', if(@currentField == 'Resolved', 
 '#A9F5BC', if(@currentField == 'Under Review', '#FFFFFF', if(@currentField == 'Need More 
  Information', '#F5DA81', if(@currentField == 'More Information Added', '#F5DA81', 
  if(@currentField == 'Waiting', '#F79F81', if(@currentField == 'Returned', '#FA5858')))))))"
  },
 "children": [
{
  "elmType": "span",
  "style": {
    "display": "inline-block",
    "padding": "0 4px"
  },
  "attributes": {
    "iconName": "=if(@currentField == 'New', 'Star', if(@currentField == 'Resolved', 
'CheckMark', if(@currentField == 'Under Review', 'Forward', if(@currentField == 'Need More 
Information', 'Error', if(@currentField == 'More Information Added', 'Error', if(@currentField 
== 'Waiting', 'Warning', if(@currentField == 'Returned', 'ErrorBadge')))))))"
}
    },
    {
  "elmType": "span",
  "txtContent": "@currentField"
}
]
}

标签: jsonsharepoint

解决方案


您的代码中存在几个错误:

  1. "background color"->"background-color"
  2. if(@currentField == 'Returned', '#FA5858')))))))"->if(@currentField == 'Returned', '#FA5858', '#xxxxx')))))))"
  3. if(@currentField == 'Returned', 'ErrorBadge')))))))"->if(@currentField == 'Returned', 'ErrorBadge', 'xxx')))))))"

修改代码中的上述字段。我通过下面的代码实现了你想要的。

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column- 
   formatting.schema.json",
  "elmType": "div",
  "style": {
    "background-color": "=if(@currentField == 'New', '#89CFF0', if(@currentField 
== 'Resolved',  '#A9F5BC', if(@currentField == 'Under Review', '#FFFFFF', 
if(@currentField == 'Need More Information', '#F5DA81', if(@currentField == 
'More Information Added', '#F5DA81', if(@currentField == 'Waiting', '#F79F81', 
if(@currentField == 'Returned', '#FA5858', '#89CFF0')))))))"
  },
 "children": [
{
  "elmType": "span",
  "style": {
  "display": "inline-block",
  "padding": "0 4px"
},
 "attributes": {
     "iconName": "=if(@currentField == 'New', 'Star', if(@currentField == 
'Resolved', 'CheckMark', if(@currentField == 'Under Review', 'Forward', 
if(@currentField == 'Need More Information', 'Error', if(@currentField == 'More 
Information Added', 'Error', if(@currentField == 'Waiting', 'Warning', 
if(@currentField == 'Returned', 'ErrorBadge', 'CheckMark')))))))"
}
},
  {
  "elmType": "span",
  "txtContent": "@currentField"
}
]
}

在此处输入图像描述


推荐阅读