This commit is contained in:
李志鹏
2026-01-09 17:05:46 +08:00
parent 3058adfdb7
commit 7b071bc585
2 changed files with 66 additions and 14 deletions

View File

@@ -24,6 +24,7 @@
O_BLENDMODE: "object.blendMode",
};
const ACTIONS = {
ADD: "add",
SELECT: "select",
UPDATE: "update",
DELETE: "delete",
@@ -168,24 +169,25 @@
};
const setCanvasData = async () => {
canvas.clear();
const cwidth = canvas.width;
const cheight = canvas.height;
for (let i = 0; i < props.list.length; i++) {
let item = props.list[i];
let pattern = await setFill(item);
let rect = new fabric.Rect({
id: item.id,
width: cwidth,
height: cheight,
fill: pattern,
...item.object,
});
canvas.add(rect);
await addObject(item);
}
canvas.renderAll();
};
const addObject = async (item) => {
const cwidth = canvas.width;
const cheight = canvas.height;
let pattern = await setFill(item);
let rect = new fabric.Rect({
id: item.id,
width: cwidth,
height: cheight,
fill: pattern,
...item.object,
});
canvas.add(rect);
};
const setFill = async (item) => {
if (!item) return null;
const cwidth = canvas.width;
@@ -280,6 +282,10 @@
canvas.add(object);
}
canvas.renderAll();
} else if (item.action === ACTIONS.DELETE) {
canvas.remove(object);
} else if (item.action === ACTIONS.ADD) {
await addObject(item.data);
}
}
canvas.renderAll();