Konvajs (react-konva) dom 相对于父组的门户位置
Konvajs (react-konva) dom portal position relative to parent group
我有一个包含门户的 Konva 组,因此我可以像这样呈现 HTML Dom 元素:
https://konvajs.org/docs/react/DOM_Portal.html
在我的门户中,我有一个 Wavesufer.js 波形。
有什么方法可以使门户中的 dom 元素不是绝对位置?
换句话说,让他们进入当前的 konva 组?
这样一来,如果我拖动我的 konva 组,门户就会留在里面并跟随它。
到目前为止我还没有运气......
现在我的波形组溢出 canvas 并且包含它的 konva 组保持隐藏状态(并且滚动条添加到容器 - 很好)但是 dom 波形保持打开顶部并且溢出没有隐藏,它在顶部保持可见并溢出到 konva 容器之外。
是的。可以只读取父组的位置,申请与创建的DOM个元素相同的位置。
或者您可以使用 react-konva-utils library
中的 Html
组件
import React from "react";
import ReactDOM from "react-dom";
import { Html } from "react-konva-utils";
import { Stage, Layer, Rect } from "react-konva";
const App = () => {
return (
<Stage width={window.innerWidth} height={window.innerHeight}>
<Layer>
<Group x={50} y={50}>
<Html>Square</Html>
<Rect x={0} y={0} width={50} height={50} fill="red" shadowBlur={5} />
<Group>
</Layer>
</Stage>
);
};
ReactDOM.render(<App />, document.getElementById("root"));
我有一个包含门户的 Konva 组,因此我可以像这样呈现 HTML Dom 元素: https://konvajs.org/docs/react/DOM_Portal.html
在我的门户中,我有一个 Wavesufer.js 波形。
有什么方法可以使门户中的 dom 元素不是绝对位置? 换句话说,让他们进入当前的 konva 组? 这样一来,如果我拖动我的 konva 组,门户就会留在里面并跟随它。
到目前为止我还没有运气......
现在我的波形组溢出 canvas 并且包含它的 konva 组保持隐藏状态(并且滚动条添加到容器 - 很好)但是 dom 波形保持打开顶部并且溢出没有隐藏,它在顶部保持可见并溢出到 konva 容器之外。
是的。可以只读取父组的位置,申请与创建的DOM个元素相同的位置。
或者您可以使用 react-konva-utils library
中的Html
组件
import React from "react";
import ReactDOM from "react-dom";
import { Html } from "react-konva-utils";
import { Stage, Layer, Rect } from "react-konva";
const App = () => {
return (
<Stage width={window.innerWidth} height={window.innerHeight}>
<Layer>
<Group x={50} y={50}>
<Html>Square</Html>
<Rect x={0} y={0} width={50} height={50} fill="red" shadowBlur={5} />
<Group>
</Layer>
</Stage>
);
};
ReactDOM.render(<App />, document.getElementById("root"));