Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

Dashboard右侧编辑器修改时左侧无法实时预览效果(排查所有导致Live Preview失效的原因) #861

Closed

Description

@hotlong

问题描述

在Dashboard编辑页面,右侧Widget配置面板(如数据绑定、聚合、布局等字段)编辑时,左侧主区域预览不会实时反映修改效果。

见如下截图:
编辑右侧无预览效果

已知排查点

  1. editSchema修改流

    • 右侧配置面板通过useConfigDraft管理草稿,字段修改后调用onFieldChange更新editSchema。
    • previewSchema = editSchema || dashboard 应该驱动 DashboardRenderer 重新渲染新 schema。
  2. DashboardRenderer组件

    • 能否响应schema prop更新,重新渲染所有widgets。
    • 是否有memoization导致局部widget渲染不及时?
  3. SchemaRenderer内容

    • 是否依赖外部数据(如dataSource),配置项变更时数据refetch有无触发?
    • widget的component对象内容是否发生深拷贝/identity change,有无因为React浅对比失效。
  4. 配置面板与左侧渲染分离

    • Memoization策略(如widgetConfig、editSchema、configVersion)是否导致预览不同步。
  5. 其它场景补充

    • 多widget、嵌套widget或复杂数据源场景是否存在预览失效。
    • 浏览器端不同屏幕/移动端等是否会出现此问题。

建议排查步骤

  • 检查handleWidgetFieldChange是否完全驱动预览流。(setEditSchema后预览是否变化?)
  • DashboardRenderer内部是否对schema/widgets有深度响应。
  • widget/component config是否因memo或引用不变导致无法更新UI。
  • SchemaRenderer及widget自身数据依赖是否有副作用。
  • 编辑panel与主panel之间通信流是否一致且能触发重绘。

相关代码分析摘要

  • 右侧ConfigPanel编辑通过useConfigDraft回调驱动editSchema。
  • 左侧DashboardRenderer响应editSchema为previewSchema。
  • DashboardRenderer渲染schema.widgets,但组件渲染或数据绑定可能未刷新。

优先级

  • plugin: editor
  • bug

开发任务完成后请运行相关test并更新roadmap。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions