Unplanned
Last Updated: 06 Mar 2026 09:29 by ADMIN
Created by: Lee
Comments: 1
Category: Menu
Type: Feature Request
3

It is a very common occurrence to need to open a menu link in a new tab. Currently the prescribed way to do this is to create a Template for the Menu Items. This involves a lot of manual implementation  (verbose template code,  helper methods, changing the menu item object to not use the Url property so as to override the default UrlField behavior). This is a lot of extra work to accomplish a very common and simple task. 

I propose that a new property be introduced to the Menu component (to be added to Menu Items) - a boolean field that defines whether or not to open the link in a new tab (i.e. "NewTab", or "External", or something of the like). It could default to false so that, in most cases, it could be ignored. But if set to true, the Menu component would handle adding "target='_blank'" and "rel='noopener noreferer'" to the link, while leaving all of the other functionality and styling in place. 

It would greatly simplify the usage. And I would suggest that every programming who is building navigation menus would have a case where it's needed.

I would think, though I haven't looked at the core code yet, that this would be a relatively simple feature to add.   


public class MenuItem
{
    public string Text { get; set; }
    public ISvgIcon? Icon { get; set; }
    public string Url { get; set; } = string.Empty;
    public bool NewTab { get; set; } = false;
    public List<MenuItem>? Items { get; set; }

    public MenuItem(string text, ISvgIcon? icon, string url, bool newTab, List<MenuItem>? items)
    {
        Text = text;
        Icon = icon;
        Url= url;
        NewTab = newTab;
        Items = items;
    }
}

Unplanned
Last Updated: 05 Sep 2023 07:32 by Richard
Created by: Richard
Comments: 0
Category: Menu
Type: Feature Request
2
I want to use a method that refreshes the item in the Menu while it is open. 
Unplanned
Last Updated: 05 Sep 2023 07:31 by Richard
Created by: Richard
Comments: 0
Category: Menu
Type: Feature Request
4
I want to use methods to show and hide the menu from my code. Maybe something like MenuReference.Show/HideAsync().
Unplanned
Last Updated: 01 Jun 2023 12:41 by Miroslav
Created by: Miroslav
Comments: 0
Category: Menu
Type: Feature Request
3
I would like to use an event that fires when the Menu closes. 
Unplanned
Last Updated: 04 May 2023 12:09 by ADMIN

The current implementation of the component has hardcoded values for the alignment of the popup - e.g.:

    for horizontal orientation: left horizontal align and bottom vertical align
    for vertical orientation: right horizontal align and top vertical align

Ideally, those should be customizable to facilitate various use-cases.

Unplanned
Last Updated: 13 Jun 2025 17:45 by Victoria
Created by: Daniel
Comments: 2
Category: Menu
Type: Feature Request
9
To prevent the accidental opening or closing of the Menu items, expose configuration to add a delay when Menu items open or close.
Unplanned
Last Updated: 15 Jun 2021 14:25 by ADMIN
Created by: Georgia
Comments: 0
Category: Menu
Type: Feature Request
8

The Menu uses the NavigationManager to go to the pages that are assigned to the individual MenuItem objects. Is there a way to pass the "force load" value to these menu items?

 

-------------------- ADMIN EDIT -------------------- 

You can work around the issue if you skip setting Url field of the items that you want to force load and set your own property. Then, handle OnClick of the menu items and check if this property is set and manually call the navigation manager for the URL. You can see the code for this approach below:

public List<MenuItem> MenuItems { get; set; }

protected void OnClickHandler(MenuItem item)
{
    if (item.ForceLoadUrl != null)
    {
        navManager.NavigateTo(item.ForceLoadUrl, true);
    }
}

public class MenuItem
{
    public string Text { get; set; }
    public string Url { get; set; }
    public string ForceLoadUrl { get; set; }
    public List<MenuItem> Items { get; set; }
}

protected override void OnInitialized()
{
    MenuItems = new List<MenuItem>()
    {
        new MenuItem()
        {
            Text = "site.css",
            ForceLoadUrl = "/css/site.css"
        },
        new MenuItem()
        {
            Text = "Counter",
            Url = "/counter"
        },
        new MenuItem()
        {
            Text = "Fetch Data",
            Url = "/fetchdata"
        }
    };

    base.OnInitialized();
}

Unplanned
Last Updated: 16 Apr 2020 09:37 by ADMIN
Created by: Simon
Comments: 1
Category: Menu
Type: Feature Request
6

I need to style the entire menu item, not just my template, but there are classes from the menu that I cannot override with my code or template.

 

Unplanned
Last Updated: 21 Jul 2022 12:16 by Rick
Created by: Sylvain
Comments: 2
Category: Menu
Type: Feature Request
12

Is there a way to not create menu programmatically but only using "html" elements ? Something like this :

 <TelerikMenu>

    <TelerikMenuItem Text="File">

        <TelerikMenuItem Text="Open" OnClick="@OnFileOpenMenuClick"/>

        <TelerikMenuItem Text="Save" OnClick="@OnFileSaveMenuClick"/>

    </TelerikMenuItem>

 </TelerikMenu>