使用 JSON 根据选择字段值格式化单个字段以显示按钮

Formatting a single field to display a button based on a choice fields value using JSON

我有一个字段定义正在批准的文档。 Field Name 为“WorkflowRequired”,这是一个选择字段。 我想根据该选择显示一个按钮。 我可以单独执行此操作,但是当我尝试合并多个 if 语句时,逻辑失败。

这就是我的。 { "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",

如果([@WorkflowRequired]=='DI Exit', "elmType": "按钮", "txtContent": "启动 DI 退出", “customRowAction”:{ “行动”:“executeFlow”, “actionParams”:“{“id”:“86b2de78-e44c-4e6d-9707-08369f679a42”}” }, “风格”: { “背景颜色”:“#0080ff”, “白颜色”, “边框半径”:“0 15px”, “可见性”:“=if(([$DIExitApprovalStatus] == 'Pending'),'visible','hidden')” }

如果([@WorkflowRequired]=='OA Exit', "elmType": "按钮", "txtContent": "启动 OA 退出", “customRowAction”:{ “行动”:“executeFlow”, “actionParams”:“{“id”:“e7879e07-2fed-4cee-9a13-9aa4fc673b3c”}” }, “风格”: { “背景色”:“#008082”, “白颜色”, “边框半径”:“0 15px”, “可见性”:“=if(([$OAExitApprovalStatus] == 'Pending'),'visible','hidden')”) }

如果([@WorkflowRequired]=='CD_CV Exit', "elmType": "按钮", "txtContent": "启动 CD_CV 退出", “customRowAction”:{ “行动”:“executeFlow”, “actionParams”:“{“id”:“52999e98-ea2b-46c7-ab21-d5e8e727fa94”}” }, “风格”: { “背景色”:“#008082”, “白颜色”, “边框半径”:“0 15px”, “可见性”:“=if(([$_CD_CVExitApprovalStatus] == 'Pending'),'visible','hidden')” } }

简而言之,如果你想应用if条件,你需要把它放在属性之后。就像 "elmType": "button", "txtContent":"=IF()"

你可以看到例子here

一个blog和你有相似的场景。