diff --git a/src/Blazored.Modal/BlazoredModal.razor b/src/Blazored.Modal/BlazoredModal.razor
index fe16c9d..7d39f7f 100644
--- a/src/Blazored.Modal/BlazoredModal.razor
+++ b/src/Blazored.Modal/BlazoredModal.razor
@@ -9,7 +9,9 @@
@foreach (var modal in _modals)
{
- @modal.ModalInstance
+
}
@@ -134,7 +136,7 @@
await _styleFunctions.InvokeVoidAsync("setBodyStyle");
}
}
-
+
await InvokeAsync(StateHasChanged);
}
@@ -150,6 +152,11 @@
}
}
+ private Dictionary KeyedParams(ModalReference modal) => new()
+ {
+ [nameof(KeyedComponent.ChildContent)] = modal.ModalInstance
+ };
+
async ValueTask IAsyncDisposable.DisposeAsync()
{
if (_styleFunctions is not null)
@@ -163,6 +170,6 @@
// If the browser is gone, we don't need it to clean up any browser-side state
}
}
- }
+ }
}
\ No newline at end of file
diff --git a/src/Blazored.Modal/KeyedComponent.razor.cs b/src/Blazored.Modal/KeyedComponent.razor.cs
new file mode 100644
index 0000000..5eef679
--- /dev/null
+++ b/src/Blazored.Modal/KeyedComponent.razor.cs
@@ -0,0 +1,14 @@
+using Microsoft.AspNetCore.Components;
+using Microsoft.AspNetCore.Components.Rendering;
+
+namespace Blazored.Modal;
+
+internal class KeyedComponent : ComponentBase
+{
+ [Parameter] public RenderFragment ChildContent { get; set; } = default!;
+
+ protected override void BuildRenderTree(RenderTreeBuilder builder)
+ {
+ ChildContent(builder);
+ }
+}
\ No newline at end of file