UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

29 lines 846 B
export class LayoutObserver { connected = false; constructor(observer = () => {}) { this.resizeObserver = new ResizeObserver(() => observer()); this.performanceObserver = new PerformanceObserver(() => { observer(); }); this.mutationObserver = new MutationObserver(() => observer()); } observe = target => { this.resizeObserver.observe(target); this.performanceObserver.observe({ entryTypes: ['paint', 'element', 'layout-shift', 'event'] }); this.mutationObserver.observe(target, { attributeFilter: ['style'], attributes: true }); this.connected = true; }; disconnect = () => { if (this.connected) { this.resizeObserver.disconnect(); this.performanceObserver.disconnect(); this.mutationObserver.disconnect(); } this.connected = false; }; }