update method
封装便捷的更新钩子。从 EditorState 获取最新元素作为 oldElement, 避免闭包捕获的过期引用导致 Undo 链断裂。
Implementation
void update(BuildContext context, String elementId, T newElement) {
final state = context.read<EditorState>();
final current = state.elements.where((e) => e.id == elementId).firstOrNull;
if (current == null) return;
state.execute(
UpdateElementCommand(
elementId: elementId,
oldElement: current.element,
newElement: newElement,
),
);
}