From 897d01ebffe76a21e20305ecd0db53e776482b9e Mon Sep 17 00:00:00 2001 From: kangwei Date: Tue, 17 Mar 2020 18:54:30 +0800 Subject: [PATCH] fix outline on scroll --- .../designer/src/designer/helper/offset-observer.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/designer/src/designer/helper/offset-observer.ts b/packages/designer/src/designer/helper/offset-observer.ts index 22b47b24a..21a8175b7 100644 --- a/packages/designer/src/designer/helper/offset-observer.ts +++ b/packages/designer/src/designer/helper/offset-observer.ts @@ -17,14 +17,20 @@ export default class OffsetObserver { @obx hasOffset = false; @computed get offsetLeft() { + if (this.isRoot) { + return this.viewport.scrollX; + } if (!this.viewport.scrolling || this.lastOffsetLeft == null) { - this.lastOffsetLeft = this.isRoot ? this.viewport.scrollX : (this.left + this.viewport.scrollX) * this.scale; + this.lastOffsetLeft = (this.left + this.viewport.scrollX) * this.scale; } return this.lastOffsetLeft; } @computed get offsetTop() { + if (this.isRoot) { + return this.viewport.scrollY; + } if (!this.viewport.scrolling || this.lastOffsetTop == null) { - this.lastOffsetTop = this.isRoot ? this.viewport.scrollY : (this.top + this.viewport.scrollY) * this.scale; + this.lastOffsetTop = (this.top + this.viewport.scrollY) * this.scale; } return this.lastOffsetTop; }