antvis / antvis/G2

render 两个行为有延迟, 不同步

Open
#6,071 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
12.6k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

### 问题描述

import { Chart } from '@antv/g2';

const data = [
{ year: '1991', value: 3 },
{ year: '1992', value: 4 },
{ year: '1993', value: 3.5 },
{ year: '1994', value: 5 },
{ year: '1995', value: 4.9 },
{ year: '1996', value: 6 },
{ year: '1997', value: 7 },
{ year: '1998', value: 9 },
{ year: '1999', value: 13 },
];

const chart = new Chart({
container: 'container',
autoFit: true,
});

chart
.data(data)
.encode('x', 'year')
.encode('y', 'value')
.scale('x', {
range: [0, 1],
})
.scale('y', {
domainMin: 0,
nice: true,
});

chart.line();

chart.point().style('fill', 'white').tooltip(false)
.label({
text: 'value',
style: {
dx: -10,
dy: -12,
},
})

chart.render();

setTimeout(()=>{
const pointMarker = chart.getNodesByType('point')[0]
pointMarker.style('opacity', 0)
pointMarker.label([])
chart.render();
},2000)
代码如上,2秒后控制数值显示消失,但是效果是 label 先消失,然后 point 消失,为什么不能同步消失呢?

### 重现链接

_No response_

### 重现步骤

_No response_

### 预期行为

_No response_

### 平台

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

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

_No response_

### 补充说明(可选)

_No response_

Contributor guide

Open the contributing guide

Research direction

Start from the provided Chart.render sequence and inspect how the point style change and label removal are processed during the second render. Trace the rendering and update behavior for the point and its label; done means both disappear synchronously after the delayed update.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.