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

通过 update_node 方法修改节点方向不生效 #415

Closed
WangYingling opened this issue Jan 19, 2023 · 8 comments · Fixed by #419
Closed

通过 update_node 方法修改节点方向不生效 #415

WangYingling opened this issue Jan 19, 2023 · 8 comments · Fixed by #419

Comments

@WangYingling
Copy link

节点添加的代码如下:
var selectedNode = _jm.get_selected_node(); // as parent of new node if (!selectedNode) { layer.msg('请先选中节点'); return; } var newNode = this.newNode(null,selectedNode.id,"<i>请输入条件</i>",null,false,"left",false ,true,false,false,false,true); var addNode = _jm.add_node(selectedNode,newNode.id,newNode.topic,newNode); //调整方向"left"; 这里尝试赋值为left,也不生效 addNode.direction=-1; _jm.update_node(addNode.id,addNode.topic);

@hizzgdev
Copy link
Owner

var newNode = this.newNode(null,selectedNode.id,"<i>请输入条件</i>",null,false,-1,false ,true,false,false,false,true);

有没有试过这样?

@hizzgdev
Copy link
Owner

@WangYingling 请问这个问题有什么更新吗?

@WangYingling
Copy link
Author

尝试了你的办法还是不行。我再看看有么有别的办法

@WangYingling
Copy link
Author

我跟踪了下代码,发现在修改了node的其他属性之后,源码里没有调用布局方法,所以才无法改变默认的right布局。后来修改了源码如下图:添加了两行代码
image

@WangYingling
Copy link
Author

@WangYingling 请问这个问题有什么更新吗?

问题已经解决,我更新了源码,见上一个回复

@hizzgdev
Copy link
Owner

你这是“修改节点”,而不是“添加节点”?
这个按说应该把if的条件改一下,不过能用就行。感谢你的回复,我有时间看看这里如何优化一下。

@WangYingling
Copy link
Author

你这是“修改节点”,而不是“添加节点”? 这个按说应该把if的条件改一下,不过能用就行。感谢你的回复,我有时间看看这里如何优化一下。

是新增节点,新增的方法里没有设置direction的参数位置。执行add方法之后,设置direction属性之后,为了生效就又调用了一次update方法

@hizzgdev hizzgdev reopened this Jan 30, 2023
@hizzgdev hizzgdev changed the title 添加节点的时候,设置属性direction="left"之后,添加的节点还是会向右排列,如何解决? 通过 update_node 方法修改节点方向不生效 Jan 30, 2023
@hizzgdev
Copy link
Owner

hizzgdev commented Jan 30, 2023

我细看了一下,你这截图里的方法是 update_node: function (nodeid, topic), 这个方法只是用来修改 topic 的,如果需要调整方向,可以使用 move_node: function (nodeid, beforeid, parentid, direction) 这个方法。

另外,关于你说的 新增的方法里没有设置direction的参数位置 的问题,可以考虑给 add_node 方法添加一个 direction 的参数来解决,类似这样可能会更简单点:

image

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

Successfully merging a pull request may close this issue.

2 participants