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

Data Visualization Sprites重复点击无响应问题求助

Data Visualization Sprites重复点击同一精灵无响应问题排查与解决

问题场景

  • 通过Data Visualization Sprites展示项目问题,首次点击精灵可正常触发DataVizCore.MOUSE_CLICK事件,打开侧边组件展示问题详情
  • 点击「关闭问题详情」按钮时,执行dataVisuzlizationExtension.clearHighlightedViewables()并清除选中状态后,再次点击同一精灵,监听事件完全不触发
  • 先点击其他对象后再返回点击该精灵,事件则恢复正常
  • 已尝试viewer.select(dbId)切换选中对象、viewer.clearSelection()清除全局选中状态,均无法解决问题

解决思路与方案

问题核心是DataViz扩展内部的精灵选中状态未完全重置,导致重复点击时扩展判定目标仍处于选中状态,跳过了事件触发逻辑。可尝试以下操作:

  1. 重置DataViz扩展的精灵选中状态
    在关闭详情的逻辑中,除了原有清除高亮的操作,主动取消DataViz扩展内部记录的选中精灵:

    // 获取DataViz扩展实例
    const dataVizExt = viewer.getExtension('Autodesk.DataVisualization');
    // 取消当前选中的精灵(如果存在)
    if (dataVizExt.selectedSprite) {
        dataVizExt.deselectSprite(dataVizExt.selectedSprite);
    }
    // 执行原有清除逻辑
    dataVizExt.clearHighlightedViewables();
    viewer.clearSelection();
    
  2. 强制刷新视图交互状态
    若上述方法无效,关闭详情后强制刷新Viewer视图,让交互系统重新识别点击目标:

    // 关闭详情后执行
    viewer.impl.invalidate(true);
    
  3. 排查事件监听有效性
    在onSelectionEvent函数中添加日志,确认事件是否真的未触发,还是后续逻辑异常:

    function onSelectionEvent(event) {
        console.log('精灵点击事件触发:', event);
        // 原有业务逻辑...
    }
    

内容的提问来源于stack exchange,提问作者Gustavo da Costa e Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:57:21