参数覆盖(override)
覆盖(override)让同一个参数在特定条件下"变行为"——不必为微小差异另建动作。这一篇讲它是什么、if/then 结构怎么写,并动手模拟一次。
https://www.palantir.com/docs/foundry/action-types/parameters-override/
原始标题:Override parameter configurations
一句话速览
参数覆盖(override):覆盖(override)让同一个参数在特定条件下"变行为"——不必为微小差异另建动作。这一篇讲它是什么、if/then 结构怎么写,并动手模拟一次。
什么是覆盖
一句话:在特定情况下改变参数的行为与配置。
覆盖(override)用来在特定情形下改变参数的行为与配置。借助它,参数和表单能更灵活,不必为了"只有微小差别"的变体去单独配置一套动作类型。恰当使用覆盖还能引导用户完成提交,提升体验。
覆盖能改的东西,正是我们在总览篇讲过的那些配置开关:约束(constraints)、可见性(visibility)、必填性(requiredness)、默认值(default value)。
例子:经理 vs 处理人
同一个 Justification 参数,对两类人表现不同。
文档举了个经典例子:有个动作用来改"支持工单"的状态,且只允许经理(manager)和处理人(assignee)提交。
- 处理人可以改状态,但不需要理由。
- 经理改状态时,必须提供理由(justification)。
用覆盖就能做到:对经理,把 Justification reason 参数设为必填且可见;对处理人,则设为隐藏且可选。同一个动作、同一个参数,行为随身份而变。
覆盖块的 if / then 结构
一个覆盖块 = 一组"如果…就…"规则。
覆盖以覆盖块(override block)为单位。每个块同时定义了"条件"(if 部分)和"覆盖"(then 部分),块头会给出一段逻辑摘要。点击分层卡看细节:
覆盖模拟器
动手看:不同身份下,Justification 参数如何被覆盖。
下面的模拟器复现了文档的例子。选你的身份,看系统如何决定 Justification reason 参数的配置:
你在"修改工单状态"动作里的身份是?
顺手检验两条规则(点选项看解析):
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「参数覆盖(override)」,读者最常问的几个问题。