Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 解决移动端下,树形结构展开、收起交互失效的问题 #3038

Closed
wants to merge 5 commits into from

Conversation

gb853940223
Copy link
Contributor

👀 PR includes

✨ Feature

  • New feature

🎨 Enhance

  • Code style optimization
  • Refactoring
  • Change the UI
  • Improve the performance
  • Type optimization

🐛 Bugfix

  • Solve the issue and close #0

🔧 Chore

  • Test case
  • Docs / demos update
  • CI / workflow
  • Release version
  • Other ()

📝 Description

背景:
使用Antv S2进行移动端业务开发,左侧树形图的展收、收起交互失效。
改动点:
在移动端下,左侧树形结构展开、收起交互,不能将整个单元格作为热区,否则会影响到绑定到整个单元格的其他事件,而是适度增加Icon面积,仍然以Icon为交互热区。
问题:
左侧树形结构的展开、收起交互正常,同时又不会影响绑定到整个单元格的其他事件

🖼️ Screenshot

Before After
改动前:
https://github.com/user-attachments/assets/7378823f-60bf-484a-b6fd-20a0d588a1e3
改动后:
https://github.com/user-attachments/assets/b5779263-ca82-4ea2-99bd-d9442034223f

🔗 Related issue link

🔍 Self-Check before the merge

  • Add or update relevant docs.
  • Add or update relevant demos.
  • Add or update test case.
  • Add or update relevant TypeScript definitions.

Copy link

vercel bot commented Dec 12, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
antvis-s2 ❌ Failed (Inspect) Dec 12, 2024 11:10am

@github-actions github-actions bot added the next 2.0-next 版本的问题 label Dec 12, 2024
@gb853940223 gb853940223 changed the title Mobile tap fix: 解决移动端下,树形结构展开、收起交互失效的问题 Dec 12, 2024
@gb853940223 gb853940223 reopened this Dec 12, 2024
@github-actions github-actions bot added the pr(fix) bug fix label Dec 12, 2024

this.treeIcon = renderTreeIcon({
group: this,
iconCfg: {
x: iconX,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不建议增大 icon 的尺寸, 和 pc 表现不一致有一点奇怪

});

// 移动端, 点击热区为整个单元格
if (isMobile()) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

移动端热区还是不变, 把 click 改成 touched 就能解决这个问题

if (isMobile()) {
  this.addEventListener('touched', () => {
    this.emitCollapseEvent();
  });
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个方案不妥,如果把整个单元格做为热区的话,单元格上的Tooltip就无法触发。所以我才考虑把icon放大

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

之前也考虑过这个方案

);
this.onTreeIconClick(isCollapsed);
},
onTouchEnd: () => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

角头这里还是热区绑定单元格即可, 和 row-cell 一致

if (isMobile()) {
  this.addEventListener('touched', () => {
    this.emitCollapseEvent();
  });
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next 2.0-next 版本的问题 pr(fix) bug fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants