fix: 卡片渲染后未赋予__index
This commit is contained in:
parent
82cb61d7be
commit
43030351d4
|
@ -750,7 +750,16 @@ class CardModel implements CardModelInterface {
|
|||
this.render(center);
|
||||
}
|
||||
card.didRender();
|
||||
updateIndex(card.root);
|
||||
const cardParent = card.root.parent();
|
||||
// 如果父节点是根节点,则直接获取index
|
||||
if (cardParent?.isRoot()) {
|
||||
card.root[0]['__index'] = card.root.index();
|
||||
} else if (cardParent) {
|
||||
// 以卡片的父节点为基础去更新index
|
||||
updateIndex(cardParent);
|
||||
}
|
||||
// 可编辑卡片更新内部节点的index
|
||||
if (card.isEditable) updateIndex(card.root);
|
||||
}
|
||||
|
||||
removeComponent(card: CardInterface): void {
|
||||
|
@ -824,7 +833,11 @@ class CardModel implements CardModelInterface {
|
|||
}
|
||||
}
|
||||
|
||||
range.select(prevBlock, true).shrinkToElementNode().collapse(false);
|
||||
range
|
||||
.select(prevBlock, true)
|
||||
.shrinkToElementNode()
|
||||
.shrinkToTextNode()
|
||||
.collapse(false);
|
||||
}
|
||||
// 焦点移动到下一个 Block
|
||||
focusNextBlock(
|
||||
|
@ -865,7 +878,11 @@ class CardModel implements CardModelInterface {
|
|||
}
|
||||
}
|
||||
|
||||
range.select(nextBlock, true).shrinkToElementNode().collapse(true);
|
||||
range
|
||||
.select(nextBlock, true)
|
||||
.shrinkToElementNode()
|
||||
.shrinkToTextNode()
|
||||
.collapse(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ class Backspace {
|
|||
|
||||
range.select(prevBlock, true);
|
||||
range.collapse(false);
|
||||
change.range.select(range);
|
||||
change.range.select(range.shrinkToTextNode());
|
||||
}
|
||||
/**
|
||||
* 在卡片节点处按下backspace键
|
||||
|
@ -127,7 +127,7 @@ class Backspace {
|
|||
if (cardRight.length > 0) {
|
||||
event.preventDefault();
|
||||
this.focusPrevBlock(card.root);
|
||||
this.engine.card.remove(card.id);
|
||||
this.engine.card.remove(card.id, false);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue