Merge pull request #5949 from zyhfish/task/fix-5948

Fix #5948: re-render the module message when it's been changed.
This commit is contained in:
Shaun Walker
2026-01-14 08:21:19 -05:00
committed by GitHub
2 changed files with 17 additions and 3 deletions

View File

@@ -21,7 +21,7 @@
@if (_style == MessageStyle.Toast)
{
<div class="app-modulemessage-toast bottom-0 end-0" @key="DateTime.UtcNow">
<div class="app-modulemessage-toast bottom-0 end-0">
<div class="@_classname alert-dismissible fade show mb-3 rounded-end-0" role="alert">
@((MarkupString)Message)
@if (Type == MessageType.Error && PageState != null && UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))

View File

@@ -16,7 +16,7 @@
{
@if (!string.IsNullOrEmpty(_messageContent) && _messagePosition == "top")
{
<ModuleMessage Message="@_messageContent" Type="@_messageType" Parent="@this" Style="@_messageStyle" />
<ModuleMessage @key="_messageVersionTop" Message="@_messageContent" Type="@_messageType" Parent="@this" Style="@_messageStyle" />
}
@DynamicComponent
@if (_progressIndicator)
@@ -25,7 +25,7 @@
}
@if (!string.IsNullOrEmpty(_messageContent) && _messagePosition == "bottom")
{
<ModuleMessage Message="@_messageContent" Type="@_messageType" Parent="@this" Style="@_messageStyle" />
<ModuleMessage @key="_messageVersionBottom" Message="@_messageContent" Type="@_messageType" Parent="@this" Style="@_messageStyle" />
}
}
}
@@ -52,6 +52,8 @@
private MessageStyle _messageStyle;
private bool _progressIndicator = false;
private string _error;
private string _messageVersionTop = Guid.NewGuid().ToString();
private string _messageVersionBottom = Guid.NewGuid().ToString();
[Parameter]
public SiteState SiteState { get; set; }
@@ -143,6 +145,18 @@
_messageStyle = style;
_progressIndicator = false;
if (style == MessageStyle.Toast && !string.IsNullOrEmpty(_messageContent))
{
if (_messagePosition == "top")
{
_messageVersionTop = Guid.NewGuid().ToString();
}
else if (_messagePosition == "bottom")
{
_messageVersionBottom = Guid.NewGuid().ToString();
}
}
StateHasChanged();
}
}