Javascript 将元素设置为画布中所有层的顶部
我正在使用KonvaJS创建一个画布,它可以通过“连接”连接“节点”。我创建了两个Javascript 将元素设置为画布中所有层的顶部,javascript,html5-canvas,konvajs,konvajs-reactjs,Javascript,Html5 Canvas,Konvajs,Konvajs Reactjs,我正在使用KonvaJS创建一个画布,它可以通过“连接”连接“节点”。我创建了两个层,一个节点层和一个连接层。我总是希望在连接层的顶部渲染节点层。因此,它们呈现如下: <Stage> <ConnectionLayer /> <NodeLayer /> </Stage> 这样可以确保始终在连接的顶部渲染节点。我试图在我的连接上添加工具提示,但由于NodeLayer位于connectionLayer的顶部,因此当工具提示位于节点后
层
,一个节点层
和一个连接层
。我总是希望在连接层
的顶部渲染节点层
。因此,它们呈现如下:
<Stage>
<ConnectionLayer />
<NodeLayer />
</Stage>
这样可以确保始终在连接的顶部渲染节点。我试图在我的连接上添加工具提示,但由于NodeLayer
位于connectionLayer
的顶部,因此当工具提示位于节点后面时将不会显示
有没有一种方法可以在不改变图层顺序的情况下,从connectionLayer
中渲染节点顶部的工具提示
可以使用HTML显示工具提示、创建通知层,或者告诉节点层呈现工具提示?
<Stage>
<ConnectionLayer />
<NodeLayer />
{this.state.tooltip && <TooltipLayer />}
</Stage>
const Tooltip = () => {
const groupRef = React.useRef();
// move it when the component is mounted
React.useEffect(() => {
const stage = groupRef.current.getStage();
const topLayer = stage.children[stage.children.length - 1];
groupRef.current.moveTo(topLayer);
}, []);
return <Group ref={groupRef} />
}