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

v5文档希望增加自定义节点教程 #4990

Closed
zzjjbbaa opened this issue Sep 20, 2023 · 9 comments
Closed

v5文档希望增加自定义节点教程 #4990

zzjjbbaa opened this issue Sep 20, 2023 · 9 comments

Comments

@zzjjbbaa
Copy link

问题描述

  1. v5自定义节点的方式和v4有很大不同,希望v5文档增加自定义节点的教程。
  2. v5自定义节点的demo,好像都是通过继承Extensions.RectNode内置节点的方式实现的,是否有继承BaseNode的实现demo或教程。

重现链接

重现步骤

预期行为

平台

  • 操作系统: [macOS, Windows, Linux, React Native ...]
  • 网页浏览器: [Google Chrome, Safari, Firefox]
  • G6 版本: [4.5.1 ... ]

屏幕截图或视频(可选)

No response

补充说明(可选)

No response

@Yanyan-Wang
Copy link
Contributor

收到,下周开始写教程👀

这有一个继承 CircleNode 的 demo,大部分情况下可以把 CircleNode 当作 base

https://g6-next.antv.antgroup.com/examples/item/customNode/#pieChart

@zzjjbbaa
Copy link
Author

zzjjbbaa commented Sep 20, 2023

收到,下周开始写教程👀

这有一个继承 CircleNode 的 demo,大部分情况下可以把 CircleNode 当作 base

https://g6-next.antv.antgroup.com/examples/item/customNode/#pieChart
image

  1. 谢谢♪(・ω・)ノ,有个小疑问,如果ExtGraph中的node配置理解为注册节点的默认model的话,是否可以将默认model放到注册节点中,而不是必须在ExtGraph的node配置中。
  2. readme中的钉钉群链接失效了,能否更新一下呢

@Yanyan-Wang
Copy link
Contributor

如果ExtGraph中的node配置理解为注册节点的默认model的话,是否可以将默认model放到注册节点中,而不是必须在ExtGraph的node配置中。

Graph 的 node edge combo 配置项,理论上不认为是 model(数据模型)。本意是映射器,可以是静态的就类似 v4 defaultNode 的作用,也可以是函数式映射的,它接收的参数是内部流转的 model 数据(我们叫它 innerModel),返回的是渲染数据(可以叫它 displayModel)。这个东西它不会改变数据,也就是返回的 keyShape、labelShape 这种和渲染有关的内容不会被写到数据里,而只是在渲染的时候内部消费。所以用户的数据不会被污染。类似的,像 graph.getNode 或者布局中,使用的数据都是 innerModel。数据就是这样一个 pipeline:

用户输入数据 --transform--> inner models --mapper(node/edge/combo)--> display model

@Yanyan-Wang
Copy link
Contributor

image

是社区的交流群,没有在里面做答疑哈

@zzjjbbaa
Copy link
Author

image

是社区的交流群,没有在里面做答疑哈

好的,谢谢

@zzjjbbaa
Copy link
Author

如果ExtGraph中的node配置理解为注册节点的默认model的话,是否可以将默认model放到注册节点中,而不是必须在ExtGraph的node配置中。

Graph 的 node edge combo 配置项,理论上不认为是 model(数据模型)。本意是映射器,可以是静态的就类似 v4 defaultNode 的作用,也可以是函数式映射的,它接收的参数是内部流转的 model 数据(我们叫它 innerModel),返回的是渲染数据(可以叫它 displayModel)。这个东西它不会改变数据,也就是返回的 keyShape、labelShape 这种和渲染有关的内容不会被写到数据里,而只是在渲染的时候内部消费。所以用户的数据不会被污染。类似的,像 graph.getNode 或者布局中,使用的数据都是 innerModel。数据就是这样一个 pipeline:

用户输入数据 --transform--> inner models --mapper(node/edge/combo)--> display model

谢谢,我得仔细理解下

@Yanyan-Wang
Copy link
Contributor

来了,写了一部分(总览、节点、边):https://g6-next.antv.antgroup.com/manual/customize/extension-cats

@coyzeng
Copy link

coyzeng commented Sep 22, 2024

二维码过期了,谁能发一个吗,我看了下继承BaseNode后,没看到数据在哪里渲染进去的?

@ATaoyoyo
Copy link

来了,写了一部分(总览、节点、边):https://g6-next.antv.antgroup.com/manual/customize/extension-cats

已经访问不了了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants