How to change menu item dynamically in code

Lets say we have a menu that says "Login". After a user has logged in, I want to display the user's login name instead of "Login". How will I change the menu item at runtime?

1 Reply 1 reply marked as answer

MK Mohan Kumar Ramasamy Syncfusion Team November 12, 2020 07:53 AM UTC

Hi Amjad, 
 
We have checked your reported query. We can achieve your requirement using ItemSelected Event. Please refer below code snippets. 
 
 
@using Syncfusion.Blazor.Navigations 
 
<SfMenu TValue="MenuItem"> 
    <MenuEvents ItemSelected="SelectItem" TValue="MenuItem"></MenuEvents> 
    <MenuItems> 
        <MenuItem Text="@Login"> 
            <MenuItems> 
                <MenuItem Text="@signUp"></MenuItem> 
            </MenuItems> 
        </MenuItem> 
    </MenuItems> 
</SfMenu> 
 
@code { 
 
    private string Login = "Login"; 
    private string signUp = "signUp"; 
 
    private void SelectItem(MenuEventArgs<MenuItem> args) 
    { 
        if (args.Item.Text == "Login") 
        { 
            Login = "Amjad Khan"; 
            signUp = "Log Out"; 
        } else 
        { 
            Login = "Login"; 
            signUp = "signUp"; 
        } 
    } 
} 
 
For your reference, we have prepared a sample based on this. Please refer below link. 
 
 
Please let us know if you need any further assistance. 
 
Regards, 
Mohan kumar R 


Marked as answer
Loader.
Up arrow icon