diff --git a/packages/renderer-core/src/hoc/leaf.tsx b/packages/renderer-core/src/hoc/leaf.tsx index fb5eb5293..c12860a0f 100644 --- a/packages/renderer-core/src/hoc/leaf.tsx +++ b/packages/renderer-core/src/hoc/leaf.tsx @@ -399,10 +399,7 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, { /** 监听参数变化 */ initOnPropsChangeEvent(leaf = this.leaf): void { - const dispose = leaf?.onPropChange?.((propChangeInfo: PropChangeOptions) => { - if (!this.autoRepaintNode) { - return; - } + const handlePropsChange = debounce((propChangeInfo: PropChangeOptions) => { const { key, newValue = null, @@ -450,6 +447,12 @@ export function leafWrapper(Comp: types.IBaseRenderComponent, { this.judgeMiniUnitRender(); }); + const dispose = leaf?.onPropChange?.((propChangeInfo: PropChangeOptions) => { + if (!this.autoRepaintNode) { + return; + } + handlePropsChange(propChangeInfo); + }); dispose && this.disposeFunctions.push(dispose); }