You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改产品后如何移除input reference set selector中的上下文?

解决方法:修改产品时清空Input Reference Set Selector的上下文

以下是几种可行的解决方案,按优先级推荐:

1. 客户端 onChange 脚本触发清空

直接监听产品字段的变更事件,在字段值改变时主动清空目标checklist字段的内容和上下文。以这类组件常见的ServiceNow平台为例,代码示例:

function onChangeProduct() {
    // 替换为你的checklist字段名称
    const checklistFieldName = 'u_checklist';
    // 清空字段值
    g_form.clearValue(checklistFieldName);
    // 重置字段的上下文过滤器(部分平台需此步骤)
    if (g_form.resetContext) {
        g_form.resetContext(checklistFieldName);
    }
}

将此函数绑定到产品字段的onChange事件中,确保产品字段一修改就触发清空操作。

2. 修正关联约束配置

检查你当前的关联约束是否遗漏了字段变更后的重置逻辑:

  • 确认约束的触发时机包含“字段值变更”,而不是仅在表单初始化时生效
  • 查找约束配置中是否有类似「当关联字段变更时,清空目标字段值/重置上下文」的开关,开启该选项
  • 排查是否有其他脚本、UI规则或全局逻辑覆盖了约束的执行

3. 服务器端业务规则兜底

如果客户端脚本在某些场景下失效(比如批量修改、API更新),可以通过服务器端业务规则兜底处理:

(function executeRule(current, previous) {
    // 检查产品字段是否发生变更
    if (current.u_product != previous.u_product) {
        // 清空checklist字段值
        current.u_checklist = '';
        // 若需清除上下文关联的后台记录,可在此补充逻辑
    }
})(current, previous);

设置业务规则的触发条件为「产品字段更新时」,确保无论通过何种方式修改产品,都能同步清空checklist字段。

从你提供的截图来看,当前的关联约束仅实现了表单加载时的过滤逻辑,没有处理字段动态变更后的重置,因此需要通过上述脚本或配置调整来实现需求。

内容的提问来源于stack exchange,提问作者fallenhamster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:10:03