this.transformer.anchorSize不是一个函数

问题描述 投票:0回答:2

我试图在React Konva中对Transformer Component进行一些更改,并且每当我尝试更改锚点大小时都会遇到此错误。我遵循文档中所述的语法 - https://konvajs.github.io/api/Konva.Transformer.html#validateAnchors__anchor

问题出在anchorSize中。请帮我。这是代码 -

class TransformerComponent extends React.Component {
  componentDidMount () {
    this.checkNode ();
  }

  componentDidUpdate () {
    this.checkNode ();
  }

  checkNode() {
    const stage = this.transformer.getStage();
    const { selectedShapeName } = this.props;
    const selectedNode = stage.findOne ('.' + selectedShapeName);

    this.transformer.rotateEnabled (false);
    this.transformer.anchorSize (5);

    if (selectedNode === this.transformer.node()) {
      return;
    }

    if (selectedNode) {
      this.transformer.attachTo (selectedNode);
    }
    else {
      this.transformer.detach();
    }

    this.transformer.getLayer().batchDraw();
  }

  render() {
    return (
      <Transformer
        ref = {node => {
          this.transformer = node;
        }}
      />
    );
  }
}
javascript reactjs konvajs
2个回答
0
投票

anchorSize是最近推出的一个非常新的物业。尝试将Konva更新到最新版本。


0
投票

您需要将此绑定到checkNode(),如下所示:

class TransformerComponent extends React.Component {

    constructor(props) {
        super(props)
        this.checkNode = this.checkNode.bind(this)
    }
    ...
© www.soinside.com 2019 - 2024. All rights reserved.