0
votes

I'm using Konva and trying to change the fill color of a tag using the setAttrs, however I keep getting an error "setAttrs is not a function" I'm trying to start by getting a child of the label, and setting the attribute of that. Any thought's on what I could be doing wrong?

// Add labels for each IO
      var IO = new Konva.Label({
        x: 10,
        y: 10,
        name: "Tag 1",
      });

      IO.add(
        new Konva.Tag({
                fill: '#C1EFF5',
                stroke: '#555',
                strokeWidth: 2,
        })
      );

      IO.add(
        new Konva.Text({
          text: IOArray[i][0],
          fontFamily: 'Calibri',
          fontSize: modelDictionary.fontSize,
          padding: 5,
          fill: 'black',
        })
      );
            
    // Add listening Events such as clicking
    IO.on('click', function () {

        // get only Tag
        var tagsClicked = this.getChildren(function(node){
            return node.getClassName() === 'Tag';
        });
        tagsClicked.setAttrs({
            fill: 'red'
        });
    });
            
    // Add the input to the group for display
    group.add(IO);