Fix #5948: re-render the module message when it's been changed.

This commit is contained in:
Ben
2026-01-09 08:44:13 +08:00
parent b0d624034a
commit 5c70f4f6a7
2 changed files with 17 additions and 3 deletions

View File

@@ -21,7 +21,7 @@
@if (_style == MessageStyle.Toast) @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"> <div class="@_classname alert-dismissible fade show mb-3 rounded-end-0" role="alert">
@((MarkupString)Message) @((MarkupString)Message)
@if (Type == MessageType.Error && PageState != null && UserSecurity.IsAuthorized(PageState.User, RoleNames.Host)) @if (Type == MessageType.Error && PageState != null && UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))

View File

@@ -16,7 +16,7 @@
{ {
@if (!string.IsNullOrEmpty(_messageContent) && _messagePosition == "top") @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 @DynamicComponent
@if (_progressIndicator) @if (_progressIndicator)
@@ -25,7 +25,7 @@
} }
@if (!string.IsNullOrEmpty(_messageContent) && _messagePosition == "bottom") @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 MessageStyle _messageStyle;
private bool _progressIndicator = false; private bool _progressIndicator = false;
private string _error; private string _error;
private string _messageVersionTop = Guid.NewGuid().ToString();
private string _messageVersionBottom = Guid.NewGuid().ToString();
[Parameter] [Parameter]
public SiteState SiteState { get; set; } public SiteState SiteState { get; set; }
@@ -143,6 +145,18 @@
_messageStyle = style; _messageStyle = style;
_progressIndicator = false; _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(); StateHasChanged();
} }
} }