mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-04-06 03:57:56 +08:00
feat(editor): 选中组件后自动滚动到组件位置
This commit is contained in:
parent
ca97e2410b
commit
d23a318003
@ -154,6 +154,9 @@ export default class StageCore extends EventEmitter {
|
||||
}
|
||||
|
||||
this.mask.setLayout(el);
|
||||
|
||||
el.scrollIntoView();
|
||||
|
||||
this.dr.select(el, event);
|
||||
this.selectedDom = el;
|
||||
|
||||
|
@ -130,9 +130,14 @@ export default class StageMask extends Rule {
|
||||
if (!page) return;
|
||||
|
||||
this.page = page;
|
||||
|
||||
this.pageScrollParent?.removeEventListener('scroll', this.pageScrollParentScrollHandler);
|
||||
|
||||
this.pageScrollParent = getScrollParent(page) || this.core.renderer.contentWindow?.document.documentElement || null;
|
||||
this.pageResizeObserver?.disconnect();
|
||||
|
||||
this.pageScrollParent?.addEventListener('scroll', this.pageScrollParentScrollHandler);
|
||||
|
||||
if (typeof ResizeObserver !== 'undefined') {
|
||||
this.pageResizeObserver = new ResizeObserver((entries) => {
|
||||
const [entry] = entries;
|
||||
@ -313,4 +318,11 @@ export default class StageMask extends Rule {
|
||||
private mouseLeaveHandler = () => {
|
||||
setTimeout(() => this.emit('clearHighlight'), throttleTime);
|
||||
};
|
||||
|
||||
private pageScrollParentScrollHandler = () => {
|
||||
if (!this.pageScrollParent) return;
|
||||
this.scrollLeft = this.pageScrollParent.scrollLeft;
|
||||
this.scrollTop = this.pageScrollParent.scrollTop;
|
||||
this.scroll();
|
||||
};
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user