From 84b236fe224e48002f7991abefda0c9c646447e2 Mon Sep 17 00:00:00 2001 From: Hufe921 Date: Tue, 2 May 2023 11:54:18 +0800 Subject: [PATCH] fix: get range paragraph boundary error --- src/editor/core/range/RangeManager.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/editor/core/range/RangeManager.ts b/src/editor/core/range/RangeManager.ts index f2e1aa7..489f080 100644 --- a/src/editor/core/range/RangeManager.ts +++ b/src/editor/core/range/RangeManager.ts @@ -82,8 +82,7 @@ export class RangeManager { const rangeRow: RangeRowArray = new Map() // 向上查找 let start = startIndex - while (start > 0) { - if (elementList[start].titleId !== elementList[start - 1]?.titleId) break + while (start >= 0) { const { pageNo, rowNo } = positionList[start] let rowArray = rangeRow.get(pageNo) if (!rowArray) { @@ -93,7 +92,10 @@ export class RangeManager { if (!rowArray.includes(rowNo)) { rowArray.unshift(rowNo) } - if (positionList[start]?.value === ZERO) break + if ( + positionList[start]?.value === ZERO || + elementList[start].titleId !== elementList[start - 1]?.titleId + ) break start-- } // 中间选择