diff --git a/app/src/protyle/render/av/render.ts b/app/src/protyle/render/av/render.ts
index 048b94a92..49d8b3b95 100644
--- a/app/src/protyle/render/av/render.ts
+++ b/app/src/protyle/render/av/render.ts
@@ -45,6 +45,13 @@ export const avRender = (element: Element, protyle: IProtyle, cb?: () => void, v
const left = e.querySelector(".av__scroll")?.scrollLeft || 0;
const headerTransform = (e.querySelector(".av__row--header") as HTMLElement)?.style.transform;
const footerTransform = (e.querySelector(".av__row--footer") as HTMLElement)?.style.transform;
+ const selectRowIds: string[] = [];
+ e.querySelectorAll(".av__row--select").forEach(rowItem => {
+ const rowId = rowItem.getAttribute("data-id");
+ if (rowId) {
+ selectRowIds.push(rowId);
+ }
+ })
let selectCellId = "";
const selectCellElement = e.querySelector(".av__cell--select") as HTMLElement;
if (selectCellElement) {
@@ -267,7 +274,7 @@ ${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value, rowIndex)}
-
+
${Constants.ZWSP}
@@ -304,6 +311,9 @@ ${cell.color ? `color:${cell.color};` : ""}">${renderCell(cell.value, rowIndex)}
focusBlock(e);
}
}
+ selectRowIds.forEach(selectRowId => {
+ e.querySelector(`.av__row[data-id="${selectRowId}"]`).classList.add("av__row--select");
+ });
if (dragFillId) {
addDragFill(e.querySelector(`.av__row[data-id="${dragFillId.split(Constants.ZWSP)[0]}"] .av__cell[data-col-id="${dragFillId.split(Constants.ZWSP)[1]}"]`));
}
diff --git a/app/src/protyle/render/av/row.ts b/app/src/protyle/render/av/row.ts
index da71886a5..df1d113f5 100644
--- a/app/src/protyle/render/av/row.ts
+++ b/app/src/protyle/render/av/row.ts
@@ -363,9 +363,12 @@ export const setPageSize = (options: {
};
export const deleteRow = (blockElement: HTMLElement, protyle: IProtyle) => {
+ const rowElements = blockElement.querySelectorAll(".av__row--select:not(.av__row--header)");
+ if (rowElements.length === 0) {
+ return;
+ }
const avID = blockElement.getAttribute("data-av-id");
const undoOperations: IOperation[] = [];
- const rowElements = blockElement.querySelectorAll(".av__row--select:not(.av__row--header)");
const blockIds: string[] = [];
rowElements.forEach(item => {
blockIds.push(item.querySelector(".av__cell[data-block-id]").getAttribute("data-block-id"));