diff --git a/app/lib/features/editor/widgets/handwriting_canvas.dart b/app/lib/features/editor/widgets/handwriting_canvas.dart index bebdc31..53c336c 100644 --- a/app/lib/features/editor/widgets/handwriting_canvas.dart +++ b/app/lib/features/editor/widgets/handwriting_canvas.dart @@ -134,10 +134,15 @@ class _HandwritingCanvasState extends State { } /// 在 build 完成后同步缓存(避免在 build 中触发异步操作) + /// + /// syncStrokes 重建合成图后必须调用 setState, + /// 否则 CachedStrokesPainter 不知道缓存已更新,不会触发重绘。 void _syncCacheAfterBuild() { WidgetsBinding.instance.addPostFrameCallback((_) { if (!mounted) return; - _cache.syncStrokes(widget.strokes); + _cache.syncStrokes(widget.strokes).then((_) { + if (mounted) setState(() {}); + }); }); }