Как прикрепить трансформатор Konva js к нескольким фигурам, не объединяя их? - PullRequest
0 голосов
/ 04 марта 2020

Я работаю над проектом инструмента на основе Konva js, в котором вы сможете выбрать несколько фигур с помощью MouseClick + CntrlKey.

Идея состоит в том, что после выбора первой фигуры Трансформер создан прикрепленным к нему. Если вы удерживаете клавишу CntrlKey и нажимаете на другие фигуры, Transformer будет обновлен (с помощью forceUpdate ()), чтобы включить их тоже.

Благодаря этому руководству Мне удалось прикрепить Преобразование во вновь созданную временную группу, где все фигуры добавляются одна за другой, когда они выбираются. Как только вы очистите выделение, фигуры будут удалены из этой группы.

Проблема с добавлением фигур во временную группу заключается в том, что вы не можете сохранить исходный z-индекс фигур в течение времени, пока они еще находятся в этой группе. так что все они перенесены наверх. Вот почему я пытаюсь найти способ прикрепить Трансформер к нескольким фигурам напрямую, не добавляя их в группу.

Любая помощь будет принята с благодарностью! Заранее спасибо!

1 Ответ

0 голосов
/ 22 апреля 2020

С konva@5.0.0 можно присоединить несколько узлов:

const tr = new Konva.Transformer();
layer.add(tr);

tr.nodes([shape1, shape2]);
layer.draw();

https://konvajs.org/docs/select_and_transform/Basic_demo.html

...