Fabric JS Select 以编程方式按 ID 对象

Fabric JS Select Object by ID Programmatically

在 Fabric JS 中,我需要 select 通过给定对象 Name/ID "Circle"

var onCircle = function () {
    canvas.add(new fabric.Circle({ id: 'Circle', radius: 30, fill: '#f55', top: 150, left: 150 }));
}

我也知道对象可以 select by ItemID:

var SelectObject = function (ObjectName) 
{
    canvas.setActiveObject(canvas.item(0));
}

我需要这样的东西:

var SelectObject = function (ObjectName) 
{
    canvas.setActiveObject('my object name');
}

您只需要编写一个函数来遍历每个对象,并在找到它时将其设置为活动状态。下面我检查了 id,但你可以更改它以检查要设置的对象上的任何 属性。

var SelectObject = function (ObjectName) {
    canvas.getObjects().forEach(function(o) {
        if(o.id === ObjectName) {
            canvas.setActiveObject(o);
        }
    })
}