From 44423c81227455d9cb9c3950232e4f977e982cae Mon Sep 17 00:00:00 2001 From: plainheart Date: Sun, 7 Jan 2024 23:53:32 +0800 Subject: [PATCH] fix chart may not update after the map is resized --- src/AMapView.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/AMapView.js b/src/AMapView.js index d058432..efe7e95 100644 --- a/src/AMapView.js +++ b/src/AMapView.js @@ -150,8 +150,9 @@ const AMapView = { } if (resizeEnable) { - let resizeHandler = function() { - getInstanceByDom(api.getDom()).resize() + let resizeHandler = () => { + clearTimeout(this._resizeTimeout) + this._resizeTimeout = setTimeout(() => getInstanceByDom(api.getDom()).resize(), 0) } if (!_isAMap2X && largeMode) { resizeHandler = throttle(resizeHandler, 20, true) @@ -163,6 +164,7 @@ const AMapView = { }, dispose() { + clearTimeout(this._resizeTimeout) clearLogMap() const component = this.__model if (component) { @@ -173,11 +175,12 @@ const AMapView = { component.coordinateSystem.setAMap(null) component.coordinateSystem = null } - delete this._moveHandler - delete this._resizeHandler - delete this._moveStartHandler - delete this._moveEndHandler } + delete this._moveHandler + delete this._moveStartHandler + delete this._moveEndHandler + delete this._resizeHandler + delete this._resizeTimeout } }