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);
|
this.mask.setLayout(el);
|
||||||
|
|
||||||
|
el.scrollIntoView();
|
||||||
|
|
||||||
this.dr.select(el, event);
|
this.dr.select(el, event);
|
||||||
this.selectedDom = el;
|
this.selectedDom = el;
|
||||||
|
|
||||||
|
@ -130,9 +130,14 @@ export default class StageMask extends Rule {
|
|||||||
if (!page) return;
|
if (!page) return;
|
||||||
|
|
||||||
this.page = page;
|
this.page = page;
|
||||||
|
|
||||||
|
this.pageScrollParent?.removeEventListener('scroll', this.pageScrollParentScrollHandler);
|
||||||
|
|
||||||
this.pageScrollParent = getScrollParent(page) || this.core.renderer.contentWindow?.document.documentElement || null;
|
this.pageScrollParent = getScrollParent(page) || this.core.renderer.contentWindow?.document.documentElement || null;
|
||||||
this.pageResizeObserver?.disconnect();
|
this.pageResizeObserver?.disconnect();
|
||||||
|
|
||||||
|
this.pageScrollParent?.addEventListener('scroll', this.pageScrollParentScrollHandler);
|
||||||
|
|
||||||
if (typeof ResizeObserver !== 'undefined') {
|
if (typeof ResizeObserver !== 'undefined') {
|
||||||
this.pageResizeObserver = new ResizeObserver((entries) => {
|
this.pageResizeObserver = new ResizeObserver((entries) => {
|
||||||
const [entry] = entries;
|
const [entry] = entries;
|
||||||
@ -313,4 +318,11 @@ export default class StageMask extends Rule {
|
|||||||
private mouseLeaveHandler = () => {
|
private mouseLeaveHandler = () => {
|
||||||
setTimeout(() => this.emit('clearHighlight'), throttleTime);
|
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