fix: cannot deletable elements boundary error #491
This commit is contained in:
@@ -656,8 +656,23 @@ export class Draw {
|
||||
startIndex++
|
||||
}
|
||||
}
|
||||
// 元素删除(不可删除控件忽略)
|
||||
if (!this.control.getActiveControl()) {
|
||||
let deleteIndex = endIndex - 1
|
||||
while (deleteIndex >= start) {
|
||||
if (elementList[deleteIndex].control?.deletable !== false) {
|
||||
elementList.splice(deleteIndex, 1)
|
||||
}
|
||||
deleteIndex--
|
||||
}
|
||||
} else {
|
||||
elementList.splice(start, deleteCount)
|
||||
}
|
||||
}
|
||||
// 循环添加,避免使用解构影响性能
|
||||
for (let i = 0; i < items.length; i++) {
|
||||
elementList.splice(start + i, 0, items[i])
|
||||
}
|
||||
elementList.splice(start, deleteCount, ...items)
|
||||
}
|
||||
|
||||
public getCanvasEvent(): CanvasEvent {
|
||||
|
||||
Reference in New Issue
Block a user