我已经看到了这个问题,但是并没有真正得到回答: MatSnackbar not updating 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的作用是什么? 我缺少某些清晰的功能,还是我做错了?
答案 0 :(得分:1)
github上的solution通过以下解决方法得以解决:
@if(@statusBarIsOpen)
{
<MatSnackbar @bind-IsOpen="@statusBarIsOpen">
<MatSnackbarContent>@StatusMessage</MatSnackbarContent>
</MatSnackbar>
}