Coder Social home page Coder Social logo

Comments (9)

wanglin2 avatar wanglin2 commented on June 19, 2024

可以贴一下代码和动图

from mind-map.

huang-yf3160 avatar huang-yf3160 commented on June 19, 2024

可以贴一下代码和动图

代码就是简单的调用render,大概逻辑是ai生成流式内容,然后动态渲染到思维导图上
动画

from mind-map.

huang-yf3160 avatar huang-yf3160 commented on June 19, 2024

而且在多节点情况下容易复现,当前思维导图有大概2000个节点

from mind-map.

wanglin2 avatar wanglin2 commented on June 19, 2024

重新渲染部分的代码可以贴一下,代码不方便截图,伪代码也可以写几行,不然我也不知道怎么去复现这个问题

from mind-map.

huang-yf3160 avatar huang-yf3160 commented on June 19, 2024

重新渲染部分的代码可以贴一下,代码不方便截图,伪代码也可以写几行,不然我也不知道怎么去复现这个问题
调用流式接口,在获取数据内一直调用方法,应该可以用定时器模拟
onData: () => {
// 该方法为更新/新增目标节点下子节点内容,mindMapData 为 思维导图数据
const data = updateNodeContent(mindMapData, uid, node)
mindMap.renderer.setData(data)
this.mindMap.render()
}
大概逻辑是这样

from mind-map.

wanglin2 avatar wanglin2 commented on June 19, 2024

image

我试了一下1000多个节点,也没有错乱,只要新数据的节点uid没有变化按理说是没问题的

from mind-map.

huang-yf3160 avatar huang-yf3160 commented on June 19, 2024

image

我试了一下1000多个节点,也没有错乱,只要新数据的节点uid没有变化按理说是没问题的

如果uid发生变化了呢?而且我们会在数据获取完整后,调用一次reRender事件,会出现gif最后几秒的画面,就是完全乱掉;
有没有您觉得可能出现问题的点,我们去排查一下呢,因为我们对您这边思维导图做了很多魔改,有可能在您这边是不复现的

from mind-map.

wanglin2 avatar wanglin2 commented on June 19, 2024

image
我试了一下1000多个节点,也没有错乱,只要新数据的节点uid没有变化按理说是没问题的

如果uid发生变化了呢?而且我们会在数据获取完整后,调用一次reRender事件,会出现gif最后几秒的画面,就是完全乱掉; 有没有您觉得可能出现问题的点,我们去排查一下呢,因为我们对您这边思维导图做了很多魔改,有可能在您这边是不复现的

reRender很慢,最好uid不要改变,只调render,看想象是因为上一次渲染的节点没有被删除,又创建了新节点,可以看一下调试一下render类的render方法

from mind-map.

huang-yf3160 avatar huang-yf3160 commented on June 19, 2024

image
我试了一下1000多个节点,也没有错乱,只要新数据的节点uid没有变化按理说是没问题的

如果uid发生变化了呢?而且我们会在数据获取完整后,调用一次reRender事件,会出现gif最后几秒的画面,就是完全乱掉; 有没有您觉得可能出现问题的点,我们去排查一下呢,因为我们对您这边思维导图做了很多魔改,有可能在您这边是不复现的

reRender很慢,最好uid不要改变,只调render,看想象是因为上一次渲染的节点没有被删除,又创建了新节点,可以看一下调试一下render类的render方法

https://github.com/wanglin2/mind-map/blob/98f0d5e0fc20958db3978b0918aa1655c9913017/simple-mind-map/src/core/render/Render.js#L431

当前定位到在此处如果有等待的情况下,再次去渲染时,就会同一个节点在图上有两个,就会出现如gif的情况,但不太清楚为啥上一次的节点没被删除

from mind-map.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.