Search code examples
c#blazormaui.net-7.0blazor-hybrid

Blazor - Bool never gets set in OnAfterRenderAsync


Still very new to Blazor and working on a NET MAUI Blazor Hybrid app. Wondering why in the code example hideDiv never gets set to false in OnAfterRenderAsync? Code example below:

    <MudItem xs="12">
        <MudText Typo="Typo.body1">@hideDiv</MudText>
    </MudItem>
    <MudItem xs="12" Class="@(hideDiv ? "invisible" : "")">
     ...
    </MudItem>


@code{

        private bool hideDiv { get; set; } = true;
    
        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (firstRender)
            {
                await JSRuntime.InvokeVoidAsync("twttr.widgets.load");
                hideDiv = false;
            }
         }
    }

Thanks in advance!


Solution

  • Please call the StateHasChanged(); after you set the hideDiv = false;. Such as:

    if (firstRender)
    {
        await JSRuntime.InvokeVoidAsync("twttr.widgets.load");
        hideDiv = false;
        StateHasChanged();
    }