From e8c65ce5b32d59acbb8809dc81cfbf76bc5a3e3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=82=8E=E7=86=8A?= Date: Thu, 15 Aug 2024 20:20:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20Popup=20overflowHI?= =?UTF-8?q?de=20=E5=B1=9E=E6=80=A7=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=20Marker=20=E8=B6=85=E5=87=BA=E5=B1=8F=E5=B9=95?= =?UTF-8?q?=E6=97=B6=E6=98=AF=E5=90=A6=E8=A7=A6=E5=8F=91=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/component/src/marker.ts | 9 ++++++--- packages/core/src/services/component/IMarkerService.ts | 1 + site/docs/api/component/marker.zh.md | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/component/src/marker.ts b/packages/component/src/marker.ts index 33e37363e7..52ad738691 100644 --- a/packages/component/src/marker.ts +++ b/packages/component/src/marker.ts @@ -39,6 +39,7 @@ export default class Marker extends EventEmitter { offsets: [0, 0], color: '#5B8FF9', draggable: false, + overflowHide: true, }; } @@ -348,9 +349,11 @@ export default class Marker extends EventEmitter { pos.x = newPos.x; } } - // 不在当前可视区域内隐藏点 - if (pos.x > containerWidth || pos.x < 0 || pos.y > containerHeight || pos.y < 0) { - element.style.display = 'none'; + if (this.markerOption.overflowHide) { + // 不在当前可视区域内隐藏点 + if (pos.x > containerWidth || pos.x < 0 || pos.y > containerHeight || pos.y < 0) { + element.style.display = 'none'; + } } element.style.left = pos.x + offsets[0] + 'px'; diff --git a/packages/core/src/services/component/IMarkerService.ts b/packages/core/src/services/component/IMarkerService.ts index a071bfe138..f50280e4d0 100644 --- a/packages/core/src/services/component/IMarkerService.ts +++ b/packages/core/src/services/component/IMarkerService.ts @@ -16,6 +16,7 @@ export interface IMarkerOption { color: string; offsets: number[]; draggable: boolean; + overflowHide?: boolean; extData?: any; style?: CSSStyleDeclaration; } diff --git a/site/docs/api/component/marker.zh.md b/site/docs/api/component/marker.zh.md index 7e4ea99aa8..448176e0d4 100644 --- a/site/docs/api/component/marker.zh.md +++ b/site/docs/api/component/marker.zh.md @@ -20,6 +20,7 @@ Marker - element    `DOM|string`    自定义 marker DOM 节点,可以是 dom 实例,也可以是 dom id - anchor     `string`  锚点位置   支持 center, top, top-left, top-right, bottom, bottom-left,bottom-right,left, right - offsets    `Array`  偏移量  [ 0, 0 ] 分别表示 X, Y 的偏移量 +- overflowHide   `boolean`  超出屏幕时是否隐藏 Marker,默认为 true - draggable `boolean` 是否支持拖拽调整 Marker 位置 - extData 用户自定义属性,支持任意数据类型,存储 marker 属性信息