@code { [Parameter] public RobotSafetyConfigDto Model { get; set; } = new(); [Parameter] public EventCallback ModelChanged { get; set; } private RobotSafetyConfigDto Local = new(); protected override void OnParametersSet() { // Work on a shallow copy (record) so parent instance isn't mutated until submit Local = Model is not null ? Model with { } : new RobotSafetyConfigDto(); } private async Task OnSubmit() { Model = Local; await ModelChanged.InvokeAsync(Model); } }