我正在使用react-konva,我需要能够一次拖动多个图像(不使用 mutliselect)。Konva 似乎通过使用组或容器来处理这个问题。
我查看了 TypeScript 文件,然后:
export declare class Group extends Container<Group | Shape> {
_validateAdd(child: Node): void;
}
export interface ContainerConfig extends NodeConfig {
clearBeforeDraw?: boolean;
clipFunc?: (ctx: CanvasRenderingContext2D) => void;
clipX?: number;
clipY?: number;
clipWidth?: number;
clipHeight?: number;
}
export declare abstract class Container<ChildType extends Node> extends Node<ContainerConfig> {
export declare class Image extends Shape<ImageConfig> {
看起来 theImage
是一个实例,Shape
因此应该可以放在 a 中Group
,但我就是无法让它工作。
我试着做:
<Group height={<SOME NUMBER>} width={<SOME NUMBER>} draggable>
{obj.map((obj2: any, idx: number) => {
return (
<Image
X={<SOME NUMBER>}
Y={<SOME NUMBER>}
key={idx}
scale={<SOME NUMBER>}
image=<SOME IMAGE CONFIG>}
draggable
/>
)
})}
</Group>
我尝试通过 vanilla API 查找示例,但找不到任何内容。它表明Group
应该能够包含Shape
api
组构造函数。组用于包含形状或其他组。
我想知道是否有人对利用提供的 Konva 代码来完成创建可拖动的图像组或我没有考虑的替代方法有任何建议。