Uncaught TypeError: Невозможно прочитать свойство 'getAbsoluteScale' из неопределенного
Я пытаюсь преобразовать круг, но он выдает ошибку. Я не понимаю, в чем заключается проблема, над которой я уже работал с преобразованиями Konva.Rect
и нет такой ошибки. Присоединение трансформатора к Konva.Circle
работает правильно, но когда мышь находится над одним из якорей трансформатора, она выдает ошибку. Вот как я прикрепляю трансформатор к Konva.Circle
:
this.setState({ attachedToId: id }, () => transformer.attachTo(clickedNode));
мой Konva.Circle
компонент, к которому я пытаюсь подключить трансформатор:
<Circle
id={id}
ref={this.circleRef}
x={x * linesWidth}
y={y * linesHeight}
radius={radius * linesHeight}
stroke={color}
onMouseUp={this.mouseUp}
/>
Присоединениетрансформатора происходит, когда this.mouseUp
называется
1 ответ
Из вашего демо attachObject(node) { }
Функция имеет узел Konva в качестве первого аргумента. Вы должны изменить способ, которым вы называете это:
handleClick = e => {
const { attachObject } = this.props;
// e - is event object
// the next line will not work
// attachObject(e);
// instead you should do this:
attachObject(e.target);
};
Убедитесь, что вы обновляете слой, когда прикрепляете Konva.Transformer
:
attachObject = node => {
const t = this.ref.current;
t.attachTo(node);
t.getLayer().batchDraw();
};