seanrco
seanrco

Reputation: 1079

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!

Upvotes: 0

Views: 288

Answers (1)

Liyun Zhang - MSFT
Liyun Zhang - MSFT

Reputation: 14434

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

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

Upvotes: 1

Related Questions