1

我见过这个问题,但并没有真正得到回答: MatSnackbar not updates 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 是做什么用的?我是否缺少一些明确的功能,还是我做错了?

4

1 回答 1

1

github上的一个解决方案解决了这个解决方法:

@if(@statusBarIsOpen)
{
    <MatSnackbar @bind-IsOpen="@statusBarIsOpen">
        <MatSnackbarContent>@StatusMessage</MatSnackbarContent>
    </MatSnackbar>
}
于 2020-11-07T18:54:51.520 回答