[Bug] 二次联动时汇总表/明细表丢失先前联动条件(透视表正常)
Author: Wanpl-JavaCreated Sep 10, 2026Updated Sep 14, 2026
Labels类型:bug状态:待处理
DataEase 版本 v2.10.22(更早版本同类逻辑也可能存在)
运行方式(安装包运行 or 源码运行 ?) 安装包运行
浏览器版本 all
Bug 描述 仪表板二次联动时,若目标为「汇总表」或「明细表」,第二次联动会清空该表上已有联动条件,只保留最近一次点击带来的条件。
典型现象:
- 先点击柱状折线图横轴某日(联动①)→ 汇总表按日期过滤正常
- 再点击其它图表维度(如角色条形图,联动②)→ 汇总表只生效②,不再受①日期限制
- 同样配置下「透视表」正常
Bug 重现步骤(有截图更好)
- 新建仪表板,配置多个图表互相联动,目标包含汇总表(或明细表)
- 点击柱状折线图某日(联动①),确认汇总表已按该日过滤
- 再点击其它维度图表某项(联动②)
- 观察汇总表:仅按第二次条件过滤,日期条件丢失
(可附截图)
预期结果 汇总表应同时保留多次联动条件(AND),例如同时受「日期 between」和「角色 eq」约束。
实际结果 二次联动后先前条件丢失,汇总表/明细表只保留最近一次条件。
原因分析(代码定位)
前端 trackFilterCursor 中,只要目标图表类型为 table-info / table-normal,就会把 linkageFilters 整表清空后再写入当次条件:
文件:core/core-frontend/src/store/modules/data-visualization/dvMain.ts
let currentFilters = element.linkageFilters || [] if (['table-info', 'table-normal'].includes(element.innerType)) { currentFilters = [] }
建议修复方向 不要按目标类型整表清空。若需处理明细表/汇总表作为联动源时字段子集变化,仅清除 sourceViewId === 当前源 的历史条件,保留其它图表带来的联动条件。
Source: dataease/dataease