浏览代码

fix:add finished event (#2932)

CrystalWindSnake 1 年之前
父节点
当前提交
efd3bd6982
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      nicegui/elements/echart.js

+ 9 - 1
nicegui/elements/echart.js

@@ -47,8 +47,16 @@ export default {
     ]) {
       this.chart.on(event, (e) => this.$emit(`chart:${event}`, e));
     }
+
+    // Prevent interruption of chart animations due to resize operations.
+    // Note that it's recommended to register the callbacks for such an event before setOption
+    const finishedCallback = () => {
+      new ResizeObserver(this.chart.resize).observe(this.$el);
+      this.chart.off('finished', finishedCallback);
+    }
+    this.chart.on('finished', finishedCallback);
+
     this.update_chart();
-    new ResizeObserver(this.chart.resize).observe(this.$el);
   },
   beforeDestroy() {
     this.chart.dispose();