我看过这个问题,但并没有得到真正的答案:MatSnackbar未更新MatSnackBarContent我也有类似的问题,我想看看是否有人知道解决方案。
我有一个简单的例子:
<div>Snackbar Status Message = @StatusMessage</div> <<< This shows the actual value
<MatSnackbar @bind-IsOpen="@statusBarIsOpen">
<MatSnackbarContent >@StatusMessage</MatSnackbarContent> <<< This should show the same
</MatSnackbar>
我正在通过用户窗体上的自定义事件回调来更新@StatusMessage,并希望显示更新的成功与否。(这是我想象中的一个非常常见的用例?(
// This is the callback handler for the 'OnUserSaved' callback
protected void UserSaved(string statusmessage)
{
StatusMessage = statusmessage; <<< Update the status message
statusBarIsOpen = true; <<< Open the snackBar / status bar
this.StateHasChanged(); <<< fire the changed event
isOpened = false; <<< this closes the form
}
第一次,StatusMessage被正确呈现。在那之后,它只在第一条消息处保持固定。而上面正确地显示了状态。我的意思是,是的,我可以用上面的线,然后清除它等等。但是,MatSnackBar是干什么的?是我缺少了一些明确的功能,还是我只是做错了?
github上的一个解决方案使用此解决方案解决:
@if(@statusBarIsOpen)
{
<MatSnackbar @bind-IsOpen="@statusBarIsOpen">
<MatSnackbarContent>@StatusMessage</MatSnackbarContent>
</MatSnackbar>
}