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

[Bug Report]: Vue 自定义节点 在@logicflow/vue-node-registry": "^1.0.7 版本中无法显示 #1899

Closed
yourcf opened this issue Oct 10, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@yourcf
Copy link

yourcf commented Oct 10, 2024

发生了什么?

Vue 自定义节点
在以下版本中可以正常显示,
"@logicflow/core": "2.0.5",
"@logicflow/extension": "2.0.9",
"@logicflow/vue-node-registry": "1.0.6",
af52f5bc51e5e0c2f8bda90cb6365308

但是在2.0.6版本中,无法显示
"@logicflow/core": "^2.0.6",
"@logicflow/extension": "^2.0.10",
"@logicflow/vue-node-registry": "^1.0.7",
37c977e5703e6386b872984be939e79a

logicflow/core版本

2.0.6

logicflow/extension版本

2.0.10

logicflow/engine版本

No response

浏览器&环境

Microsoft Edge

@yourcf yourcf added the bug Something isn't working label Oct 10, 2024
Copy link

github-actions bot commented Oct 10, 2024

由于所提供信息的不充分,该 issue 被暂时关闭了。请修改 issue 以提供最小可复现示例(可以通过以下方式:1. 在任意在线编码平台如 codesanbox 编写示例。将其保存到自己空间,然后贴上链接。2. 在自己 github 中创建一个最简单的示例,然后贴上 github 链接。3. 删除项目中的 node_modules 部分,打包项目,并拖拽到 issue 输入框中上传(或提供远程可下载地址))来重启 issue。

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 10, 2024
@github-actions github-actions bot reopened this Oct 10, 2024
@yourcf yourcf changed the title [Bug Report]: [Bug Report]: Vue 自定义节点 在@logicflow/vue-node-registry": "^1.0.7 版本中无法显示 Oct 10, 2024
@wbccb
Copy link
Contributor

wbccb commented Oct 10, 2024

"@logicflow/vue-node-registry": "1.0.6"升级到"1.0.7",强制加了一个flowId的传入,可以看看有没有报错信息提示"没有传入flowIdprops",然后参考 flowId的传入 传入flowId,如果传入了flowId还有问题的话,需要提供一下demo @yourcf , 我排查下

@yourcf
Copy link
Author

yourcf commented Oct 12, 2024

加了flowId后 已解决

@yourcf yourcf closed this as completed Oct 12, 2024
@boyongjiong
Copy link
Collaborator

"@logicflow/vue-node-registry": "1.0.6"升级到"1.0.7",强制加了一个flowId的传入,可以看看有没有报错信息提示"没有传入flowIdprops",然后参考 flowId的传入 传入flowId,如果传入了flowId还有问题的话,需要提供一下demo @yourcf , 我排查下

@wbccb 我忘了当时那个 PR 中文档有没有添加这个属性的说明,感觉我们应该在文档中加一下这个 props 的意义,

或者说如果不传,我们是否能生成一个默认的,不至于让它升版本后突然发现节点没了

@wbccb
Copy link
Contributor

wbccb commented Oct 12, 2024

目前 https://site.logic-flow.cn/tutorial/advanced/vue 就是一个例子而已,所以之前的pr就是在文档上的例子完善了下,没有加特别说明,这个我后面加一下flowId对应的说明

至于说是否设置为required: false,其实我之前有想过,要是不传的话,是不是要自己通过document.querySelector("flow-id")的模式去取对应的flowId,我的想法是:


  1. 界面上如果同时存在多个LogicFlow对象时,会不知道到底要取哪个,这样自动生成flowId就得思虑很多方面(如何正确取到你new LogicFlow()时想要映射到的<TeleportContainer />,因为如 pull/1895 所说,这两个东西其实可以写在不同的地方),可能会引入其他意想不到的问题
<div flow-id="A"></div>
<div flow-id="B"></div>
  1. 如果设置为可选不传,那开发者绝大部分就不会传(因为大部分人只会稍微看下文档,不会细看),而flowId设置为必传+如果你不传=>会在开发阶段提示props缺失,在开发阶段就能解决这个问题,所以设置为可选不传的话,其实就等同于这个参数内部要好好处理,那就会回到第1点,得好好思考下生成flowId到底会产生什么影响...这就是将开发者的成本转移到维护者身上

  2. 目前来说,<TeleportContainer />确实是有点心智负担,会不知道到底为什么要引入这个东西,而强制让用户传入flowId,可以让他们更加清楚就是跟<TeleportContainer />绑定,并且其实也只是增加一丢丢开发成本

  3. 最主要我看了下@logicflow/vue-node-registry目前总体npm下载量的并不是很多,后面使用量应该会涨上去,等到涨上去想要改就难很多了,所以就算是Break Change,升版本确实有点问题,但是稍微答疑一下就行了,过了这个"1.0.6"升级到"1.0.7"的阶段就行,我觉得 稍微答疑的花费时间 <<<<<< 思考自动生成flowId要适配的逻辑所花费的时间+后续出问题要不断修复花费的成本 要少很多

后续@logicflow/vue-node-registry可以再加自定义参数props传入,支持更多的功能
还有很多比较重要的功能没完成,比如destory的释放啊,rotate!=0的很多处理,所以从维护成本角度以及这个flowId自动生成功能的优先级考虑,我是更加倾向于让用户自己传入flowId,并且是必须强制传入

我的想法是这样的 @boyongjiong

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants