antvis / antvis/L7

尽可能使用ResizeObserver,而不是element-resize-detector

Open
#2,329 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
4.1k
Forks
656
PR merge metrics
No merged PRs in 30d

Description

### 问题描述

在使用vue3的teleport动态改变map元素在dom树中的位置时,发现这种情况下如果传送前后父容器大小不一样,地图resize事件不会被触发

试了一下似乎是element-resize-detector的问题,使用ResizeObserver可以正常获得元素大小

另一方面,主流浏览器基本都已经支持ResizeObserver,能否在ResizeObserver可用的情况下优先使用ResizeObserver?

### 重现链接

_No response_

### 重现步骤

不需要

### 预期行为

在ResizeObserver可用的情况下优先使用ResizeObserver获得map container的大小

### 平台

- 操作系统: [macOS, Windows, Linux, React Native ...]
- 网页浏览器: [Google Chrome, Safari, Firefox]

### 屏幕截图或视频(可选)

![image](https://github.com/antvis/L7/assets/38043552/e4e40b92-2358-46e5-a94c-e7a556a21bc4)

### 补充说明(可选)

_No response_

Contributor guide

Open the contributing guide

Research direction

The issue names no file or test. Start by locating the map-container resize handling and its use of element-resize-detector, then inspect how ResizeObserver availability is determined. Done means supported browsers prefer ResizeObserver and the map resize event works when a Vue 3 teleport moves the container between differently sized parents, while existing fallback behavior remains covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.