@if (IsVisible) { } @code { [Parameter] public bool IsVisible { get; set; } [Parameter] public EventCallback IsVisibleChanged { get; set; } [Parameter] public int FolderId { get; set; } [Parameter] public string InitialName { get; set; } = string.Empty; [Parameter] public string? ErrorMessage { get; set; } [Parameter] public EventCallback<(int FolderId, string NewName)> OnSubmit { get; set; } private bool _wasVisible; private string _name = string.Empty; protected override void OnParametersSet() { // Reset internal state on transition from hidden -> visible. if (IsVisible && !_wasVisible) { _name = InitialName; } _wasVisible = IsVisible; } private async Task Close() { await IsVisibleChanged.InvokeAsync(false); } private async Task Submit() { await OnSubmit.InvokeAsync((FolderId, _name.Trim())); } }