fix: error when selecting table cells #174
This commit is contained in:
@@ -176,15 +176,23 @@ export class RangeManager {
|
|||||||
public setRangeStyle() {
|
public setRangeStyle() {
|
||||||
if (!this.listener.rangeStyleChange) return
|
if (!this.listener.rangeStyleChange) return
|
||||||
// 结束光标位置
|
// 结束光标位置
|
||||||
const { endIndex } = this.range
|
const { endIndex, isCrossRowCol } = this.range
|
||||||
const index = ~endIndex ? endIndex : 0
|
let curElement: IElement
|
||||||
// 行首以第一个非换行符元素定位
|
if (isCrossRowCol) {
|
||||||
const elementList = this.draw.getElementList()
|
// 单元格选择以当前表格定位
|
||||||
const endElement = elementList[index]
|
const originalElementList = this.draw.getOriginalElementList()
|
||||||
const endNextElement = elementList[index + 1]
|
const positionContext = this.position.getPositionContext()
|
||||||
const curElement = endElement.value === ZERO && endNextElement
|
curElement = originalElementList[positionContext.index!]
|
||||||
? endNextElement
|
} else {
|
||||||
: endElement
|
const index = ~endIndex ? endIndex : 0
|
||||||
|
// 行首以第一个非换行符元素定位
|
||||||
|
const elementList = this.draw.getElementList()
|
||||||
|
const endElement = elementList[index]
|
||||||
|
const endNextElement = elementList[index + 1]
|
||||||
|
curElement = endElement.value === ZERO && endNextElement
|
||||||
|
? endNextElement
|
||||||
|
: endElement
|
||||||
|
}
|
||||||
if (!curElement) return
|
if (!curElement) return
|
||||||
// 选取元素列表
|
// 选取元素列表
|
||||||
const curElementList = this.getSelection() || [curElement]
|
const curElementList = this.getSelection() || [curElement]
|
||||||
|
|||||||
Reference in New Issue
Block a user