From bfc63db78dd3cd4325893b360d4d015ec4b83283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8A=9B=E7=9A=93?= Date: Wed, 12 Aug 2020 17:14:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86=E9=80=89=E5=8C=BA?= =?UTF-8?q?=E7=9A=84=20toolkit=20=E4=BD=8D=E7=BD=AE=E4=B8=8D=E5=AF=B9?= =?UTF-8?q?=E7=9A=84=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/builtin-simulator/bem-tools/border-selecting.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx b/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx index 4562c9ffd..7341fc056 100644 --- a/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx +++ b/packages/designer/src/builtin-simulator/bem-tools/border-selecting.tsx @@ -66,7 +66,9 @@ class Toolbar extends Component<{ observed: OffsetObserver }> { const MARGIN = 1; const BORDER = 2; const SPACE_HEIGHT = BAR_HEIGHT + MARGIN + BORDER; + const SPACE_MINIMUM_WIDTH = 140; // magic number let style: any; + // 计算 toolbar 的上/下位置 if (observed.top > SPACE_HEIGHT) { style = { top: -SPACE_HEIGHT, @@ -83,10 +85,12 @@ class Toolbar extends Component<{ observed: OffsetObserver }> { top: Math.max(MARGIN, MARGIN - observed.top), }; } - if (observed.width < 140) { + // 计算 toolbar 的左/右位置 + if (SPACE_MINIMUM_WIDTH > observed.left + observed.width) { style.left = Math.max(-BORDER, observed.left - width - BORDER); } else { style.right = Math.max(-BORDER, observed.right - width - BORDER); + style.justifyContent = 'flex-start'; } const { node } = observed; const actions: ReactNodeArray = [];