Skip to content

Chart 调度中心

重要数据

scrollLeft:图表水平方向上的滚动偏移

更新数据并重绘

ts
private data: KLineData[] = []

updateData(data: KLineData[]) {
        console.log('[Chart] updateData called, data length:', data?.length)
        this.data = data ?? []

        // 重算 DOM scrollLeft 状态, 防止左右滚动超出数据长度范围
        const container = this.dom.container
        if (container) {
            const contentWidth = this.getContentWidth()
            const maxScrollLeft = Math.max(0, contentWidth - container.clientWidth)
            if (container.scrollLeft > maxScrollLeft) {
                container.scrollLeft = maxScrollLeft
            }
        }

        // 通知所有渲染器数据已更新(清除缓存等)
        this.rendererPluginManager.notifyDataUpdate(this.data, { start: 0, end: this.data.length })

        // 重置交互状态
        this.interaction.reset()

        this.scheduleDraw()
    }
  1. 重算 scrollLeft
  2. 清除渲染器缓存