FabricJS如何向当前选中对象集合添加新对象?
画布多对象选中的解决办法
在Fabric.js中,canvas.setActiveObject()确实会替换当前选中对象,要实现向选中集合添加新对象,用以下两种方法即可:
逐个添加对象到选中集合
使用canvas.addToActiveSelection(theCanvasObject)方法,它会将目标对象追加到当前已选中的对象集合里,不会清除已有选中项。如果当前没有任何选中对象,第一次调用这个方法也能正常选中目标对象。示例代码:
// 添加第一个对象 canvas.addToActiveSelection(object1); // 继续添加第二个、第三个对象 canvas.addToActiveSelection(object2); canvas.addToActiveSelection(object3);一次性设置多个选中对象
如果需要直接选中一组对象,可使用canvas.setActiveObjects([object1, object2, object3]),这个方法会直接将传入的对象数组设置为选中集合,覆盖之前的选中状态。示例代码:
// 直接选中多个对象 canvas.setActiveObjects([object1, object2, object3]); // 渲染画布更新选中状态 canvas.renderAll();
内容的提问来源于stack exchange,提问作者Dominick Allen
相关产品推荐
相关产品推荐

