我正在尝试选择多个并删除。选择一个对象删除就好了但是当选择多个时它不会做任何事情。我环顾四周,用v1.4中的小提琴看到了这个答案
https://stackoverflow.com/a/41286840
当我选择多个时,我得
canvas.getActiveGroup is not a function
现在getActiveObject可以来自一个数组。我试图检查是否大于一个使用长度,然后删除这些对象,但它总是通过
if (activeObject) {
而不是
else if (activeObject.length >= 2) {
但两者都不会起作用。 Fabric不具备多个选定项目的功能吗?
答案 0 :(得分:2)
正如change log getActiveGroup
中提到的那样,此功能现已删除。
所以你需要使用canvas.getActiveObjects()
获取对象,然后遍历存在的对象并从画布中删除它们。
这是jsFiddle
答案 1 :(得分:0)
canvas.getActiveGroup 在新版本中已删除。所以这里的代码工作正常。尝试这个。有关fabricJs更改的更多信息,请单击以引用此fabricJS breaking changes
deleteSelectedObject() {
let activeObject = this.canvas.getActiveObjects();
if (activeObject) {
let objectsInGroup = activeObject;
this.canvas.discardActiveObject();
let self = this;
objectsInGroup.forEach(function(object) {
self.canvas.remove(object);
});
}
}