Completed
Last Updated: 25 Jul 2022 14:10 by ADMIN
Release 2.30.0
Created by: Roy
Comments: 10
Category: TabStrip
Type: Feature Request
54

At the moment, when tabs hide their components are removed, so when you go back to a tab, it initializes again  - for example, the OnInitializedAsync event fires where you fetch data, so you have to fetch the data again.

This behavior should be controlled through a property so one can keep the original behavior where the components are cleared from the DOM and memory.

Perhaps an option can be added where tabs are initialized not on initial load, but upon first activation only. Maybe the feature can become something like an enum - LoadMode="InitialRender|FirstRender|EveryRender" (working title off the top of my head).

At the moment, a solution you can use is to send the data to the tab from its contents through an event, and to pass it to them as a Parameter so you can check for it before fetching data.

Completed
Last Updated: 16 Jul 2022 08:47 by ADMIN
Release 2.21.0
Created by: nonick
Comments: 3
Category: TabStrip
Type: Feature Request
38
I would like there to be a template for tab strip label so that i could put anything i want in there rather than just text.
Completed
Last Updated: 09 May 2022 06:17 by ADMIN
Release 3.3.0
Created by: Uluç
Comments: 1
Category: TabStrip
Type: Feature Request
29

At the moment, if I have many tabs, their titles go off the screen (or the container of the tab strip). I want that they don't stretch my layout, or they don't become invisible.

---

ADMIN EDIT

For the time being, there are two workarounds you can consider:

  • adding a scrollbar to the tabs list:
    <style>
        /* sample settings for the parent of the tab strip to showcase how the rules below work */
        .tab-container {
            border: 1px solid red;
            width: 30%;
        }
        
        /* tab titles will now produce a scrollbar when too wide */
        .tab-container .k-tabstrip .k-tabstrip-items {
            flex-flow: inherit;
            max-width: 100%;
            overflow-x: auto;
            overflow-y: hidden;
        }
    
        /* just to showcase what happens when the content is wide - a separate scrollbar */
        .wide-content {
            background: yellow;
            width: 1200px;
        }
    </style>
    
    <div class="tab-container">
        <TelerikTabStrip>
            @foreach (var item in Enumerable.Range(1, 10))
            {
                <TabStripTab Title="@( $"Item {item}" )"><div class="wide-content">Content for item @item</div></TabStripTab>
            }
        </TelerikTabStrip>
    </div>

  • making the tabs drop into multiple rows:
    <style>
        /* sample settings for the parent of the tab strip to showcase how the rules below work */
        .tab-container {
            border: 1px solid red;
            width: 30%;
        }
    
            /* tabs will wrap on more than one row if there are too many to fit */
            .tab-container .k-tabstrip .k-tabstrip-items {
                flex-wrap:wrap;
            }
    </style>
    
    <div class="tab-container">
        <TelerikTabStrip>
            @foreach (var item in Enumerable.Range(1, 10))
            {
                <TabStripTab Title="@( $"Item {item}" )"><div class="wide-content">Content for item @item</div></TabStripTab>
            }
        </TelerikTabStrip>
    </div>

---

Completed
Last Updated: 08 Dec 2020 09:26 by ADMIN
Release 2.21.0
Created by: Eugenie
Comments: 4
Category: TabStrip
Type: Feature Request
24

I want to style my tab headers with something similar to this, but it does not compile:

 

 <h2>Telerik Tab Strip</h2>
    <TelerikTabStrip TabPosition="Telerik.Blazor.TabPosition.Top">
        <TabStripTab Class="WeirdTab" Title="First">
            First tab content.
        </TabStripTab>
        <TabStripTab Title="Second">
            Second tab content.
        </TabStripTab>
        <TabStripTab Title="Third">
            Third tab content.
        </TabStripTab>
    </TelerikTabStrip>
    <style>
        .WeirdTab {
            color: red;
        }
    </style>

 

While I can style the content of the tabs in the tabs themlselves (see below) I'd like to be able to style the headers too

<h2>Telerik Tab Strip</h2>
<TelerikTabStrip TabPosition="Telerik.Blazor.TabPosition.Top">
    <TabStripTab Title="First">
        <div class="WeirdTab">
            First tab content.
        </div>
    </TabStripTab>
    <TabStripTab Title="Second">
        Second tab content.
    </TabStripTab>
    <TabStripTab Title="Third">
        Third tab content.
    </TabStripTab>
</TelerikTabStrip>
<style>
    .WeirdTab {
        color: red;
    }
</style>

Completed
Last Updated: 21 Jun 2021 21:12 by ADMIN
Release 2.25.0
Something like this https://demos.telerik.com/aspnet-ajax/wizard/overview/defaultcs.aspx
Completed
Last Updated: 29 Nov 2021 15:17 by ADMIN
Release 2.30.0
Created by: Cassandra
Comments: 2
Category: TabStrip
Type: Feature Request
8
I would like to have a Visible parameter that would allow me to show/hide tabs and preserve their indexes.
Completed
Last Updated: 03 May 2022 09:01 by ADMIN
Release 3.3.0
Created by: David
Comments: 0
Category: TabStrip
Type: Feature Request
6

I have four tabs in my tab strip, and the content in each tab is of varying width. The tab item resizes to the width of the content as it changes. I want to be able to set a fixed width for all the tabs so they don't expand and contract all the time.

 

===========

ADMIN EDIT

===========

In the meantime, you can control the width of the TabStrip with some custom CSS. You can use its Class parameter to set a custom CSS class to the main wrapping container of the component and then apply the desired styles. Thus, you will be styling only this specific instance of the TabStrip and not all instances on the page/app (in case needed, you can of course add the same CSS class to all instances to have the same styles).

The sample below demonstrates the described approach. First instance of the TabStrip has the default setup, no additional styles added. Second instance has fixed width.

<TelerikTabStrip>
    <TabStripTab Title="First">
        First tab content. Go to the third tab to see the problem.
    </TabStripTab>
    <TabStripTab Title="Second tab heading longer than others">
        Second tab content. Go to the third tab to see the problem.
    </TabStripTab>
    <TabStripTab Title="Third">
        <div style="width: 2000px;">lorem ipsum</div>Third tab content.
    </TabStripTab>
</TelerikTabStrip>

<style>
    .tab-with-width {
        width: 600px;
    }
</style>

<TelerikTabStrip Class="tab-with-width">
    <TabStripTab Title="First">
        First tab content. Go to the third tab to see the behavior when the TapSrtrip has fixed width.
    </TabStripTab>
    <TabStripTab Title="Second tab heading longer than others">
        Second tab content. Go to the third tab to see the behavior when the TapSrtrip has fixed width.
    </TabStripTab>
    <TabStripTab Title="Third">
        <div style="width: 2000px;">lorem ipsum</div>Third tab content.
    </TabStripTab>
</TelerikTabStrip>

Completed
Last Updated: 21 May 2019 10:57 by ADMIN
Release 1.1.0
Created by: Gert
Comments: 3
Category: TabStrip
Type: Feature Request
6

At the moment, you can't get the currently active tab with code, the Title property of the tabs is not public.

Ideally, something like this should work:

@using Telerik.Blazor.Components.TabStrip
@using Telerik.Blazor.Components.Button
 
<TelerikButton OnClick="@WriteActiveTab">Get Active Tab</TelerikButton>
 
<TelerikTabStrip TabPosition="Telerik.Blazor.Components.TabStrip.TabPosition.Left" ref="@myTabStrip">
    <TelerikTab Title="First">
        First tab content.
    </TelerikTab>
    <TelerikTab Title="Second" Disabled="true">
        Secont tab content. This tab is disabled and you cannot select it.
    </TelerikTab>
    <TelerikTab Title="Third">
        Third tab content.
    </TelerikTab>
</TelerikTabStrip>
 
@functions {
    Telerik.Blazor.Components.TabStrip.TelerikTabStrip myTabStrip;
 
    protected void WriteActiveTab()
    {
        Console.WriteLine(myTabStrip.ActiveTab.Title);//Title is not available now
    }
}

 

ADMIN EDIT: As of October 2023, the TabStrip supports getting and setting the active tab with the ActiveTabIndex parameter. This request was marked as Complete when we exposed a Title parameter for the TabStripTab component. Enhanced programmatic access to TabStrip tab IDs can be implemented as part of TabStrip dynamic (closable) tabs.

Completed
Last Updated: 11 Apr 2022 11:31 by ADMIN
Release 3.3.0
Created by: Rod
Comments: 0
Category: TabStrip
Type: Bug Report
3
I have a tab strip with several tabs, one of which is invisible ('Tab 1'). When I select 'Tab 2' it becomes active, but the focus is set to the next tab, 'Tab 3'. This just seemed to start after upgrading to 3.1 version.

See attached screen shot.

Sample code:

 <TelerikTabStrip>
        <TabStripTab Title="Tab 0" Visible="true">
            content 0
        </TabStripTab>
        <TabStripTab Title="Tab 1" Visible="false">
            content 1
        </TabStripTab>
        <TabStripTab Title="Tab 2" Visible="true">
            content 2
        </TabStripTab>
        <TabStripTab Title="Tab 3" Visible="true">
            content 3
        </TabStripTab>
    </TelerikTabStrip>
Completed
Last Updated: 12 Oct 2022 07:26 by ADMIN
Release 3.7.0 (09 Nov 2022)

I am using the Telerik TabStrip and am trying to make the tabs scrollable while also showing additional tabs once a button is pressed.

When the additional tabs are shown, the tabs are not scrollable. Notice that when you toggle the visibility of the tabs, the new tabs being shown do not make the tab list scrollable.

=====ADMIN EDIT=====

Here is a possible workaround for the time being - REPL link.

Completed
Last Updated: 08 Sep 2022 10:03 by ADMIN
Release 3.6.0 (14 Sep 2022) (R3 2022)

The TabStrip throws ArgumentOutOfRangeException if the first tab is not Visible.

 

<TelerikTabStrip>
    <TabStripTab Title="A" Visible="false">
        Tab A
    </TabStripTab>

    <TabStripTab Title="B" Visible="true">
        Tab B
    </TabStripTab>

    <TabStripTab Title="C" Visible="true">
        Tab C
    </TabStripTab>
</TelerikTabStrip>

Completed
Last Updated: 01 Feb 2022 14:40 by ADMIN
Release 3.1.0
Created by: George
Comments: 0
Category: TabStrip
Type: Bug Report
2
TabStrip does not persist content properly
Completed
Last Updated: 25 Jan 2020 09:42 by ADMIN
Release 2.4.0
Created by: Robert
Comments: 1
Category: TabStrip
Type: Feature Request
2

The ActiveTabIndex parameter can take a value -1 to denote that no tab should be selected. This can plug into the current two-way binding as well.

Completed
Last Updated: 06 Dec 2019 13:11 by ADMIN
Release 2.6.0

<TelerikTabStrip TabPosition="TabPosition.Top">
    <TabStripTab Title="Sofia">

    </TabStripTab>
    <TabStripTab Title="London">

    </TabStripTab>
    <TabStripTab Title="Paris">
        <TelerikTabStrip TabPosition="TabPosition.Left">
            @foreach (var item in new string[] { "one", "two", "three" })
            {
                <TabStripTab Title="@item">x</TabStripTab>
            }
        </TelerikTabStrip>
    </TabStripTab>

</TelerikTabStrip>

Completed
Last Updated: 14 Nov 2024 09:29 by ADMIN
Release 7.0.0
Created by: LEE
Comments: 0
Category: TabStrip
Type: Bug Report
1

To deactivate all tabs I have to set the ActiveTabIndex parameter to -1.

This was working up to version 4.6.0. After that version I start getting an error:

Unhandled exception rendering component: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')

Here is an example with 4.6.0 where it is working:

https://blazorrepl.telerik.com/QSPuvKvI06m6AhF929

Here is an example with the current version:

https://blazorrepl.telerik.com/mIvOlqlI062NR9Vi59

 

Completed
Last Updated: 31 Oct 2023 12:14 by ADMIN
Release 5.0.0 (15 Nov 2023) (R1 PI1)
The issue can be reproduced in a TabStrip with Scrollable = true. The problem is easily observed if you programmatically change the ActiveTabIndex during runtime and activate a tab that is currently not in the visible part.

Reproduction: https://blazorrepl.telerik.com/QHFuExbc57Wq6HVG28.


Completed
Last Updated: 24 Nov 2022 11:36 by ADMIN

Accessibility issue for TelerikTabStrip (3.6.0)

Issue is found in the attached png file.

<TelerikTabStrip TabPosition="@TabPosition.Top">
    <TabStripTab Title="Handoff">
        <VideoHandoff></VideoHandoff>
    </TabStripTab>
    <TabStripTab Title="Handoff Status">
        <VideoHandoffStatus></VideoHandoffStatus>
    </TabStripTab>
</TelerikTabStrip>

Completed
Last Updated: 12 Oct 2022 07:26 by ADMIN
Release 3.7.0 (09 Nov 2022)
Created by: Nate
Comments: 0
Category: TabStrip
Type: Feature Request
1
I'm trying to add a context menu to a tab. When an item in the context menu is clicked, the content of the tab gets altered. However, the tab is not being rerendered. Even adding a call to StateHasChanged() is not causing a rerender. Only going away from the tab and coming back seems to cause a rerender.
Completed
Last Updated: 16 Sep 2019 10:26 by ADMIN
Release 2.0.0
Created by: Brian
Comments: 2
Category: TabStrip
Type: Bug Report
1

Content inside the tabs is narrow and elements float next to each other. For example, charts or other divs have limited width (screenshot of the issue at the end of this post).

@using Telerik.Blazor
@using Telerik.Blazor.Components.Chart
@using Telerik.Blazor.Components.TabStrip
 
@*WORKAROUND 1*@
<style>
    .k-tabstrip .k-animation-container-relative {
        width: 100%;
    }
</style>
 
@*WORKAROUND 2
<style>
    .k-tabstrip .k-animation-container-relative {
        display: block;
    }
</style>*@
 
<TelerikTabStrip>
    <TelerikTab Title="First">
        First tab content.
        <div style="border: 1px solid red;">some div that must be as wide as the tab strip</div>
        Chart follows and it should also be as wide as the tab
        <TelerikChart>
            <TelerikChartSeriesItems>
                <TelerikChartSeries Type="ChartSeriesType.Line" Name="Product 1" Data="@series1Data">
                </TelerikChartSeries>
                <TelerikChartSeries Type="ChartSeriesType.Line" Name="Product 2" Data="@series2Data">
                </TelerikChartSeries>
            </TelerikChartSeriesItems>
 
            <TelerikChartCategoryAxes>
                <TelerikChartCategoryAxis Categories="@xAxisItems"></TelerikChartCategoryAxis>
            </TelerikChartCategoryAxes>
 
            <TelerikChartTitle Text="Quarterly revenue per product"></TelerikChartTitle>
 
            <TelerikChartLegend Position="ChartLegendPosition.Right">
            </TelerikChartLegend>
        </TelerikChart>
    </TelerikTab>
    <TelerikTab Title="Second" Disabled="true">
        Second tab content. This tab is disabled and you cannot select it.
    </TelerikTab>
    <TelerikTab Title="Third">
        Third tab content.
    </TelerikTab>
</TelerikTabStrip>
 
<TelerikChart>
    <TelerikChartSeriesItems>
        <TelerikChartSeries Type="ChartSeriesType.Line" Name="Product 1" Data="@series1Data">
        </TelerikChartSeries>
        <TelerikChartSeries Type="ChartSeriesType.Line" Name="Product 2" Data="@series2Data">
        </TelerikChartSeries>
    </TelerikChartSeriesItems>
 
    <TelerikChartCategoryAxes>
        <TelerikChartCategoryAxis Categories="@xAxisItems"></TelerikChartCategoryAxis>
    </TelerikChartCategoryAxes>
 
    <TelerikChartTitle Text="Quarterly revenue per product"></TelerikChartTitle>
 
    <TelerikChartLegend Position="ChartLegendPosition.Right">
    </TelerikChartLegend>
</TelerikChart>
 
 
@code {
    public List<object> series1Data = new List<object>() { 10, 2, 5, 6 };
    public List<object> series2Data = new List<object>() { 5, 8, 2, 7 };
    public string[] xAxisItems = new string[] { "Q1", "Q2", "Q3", "Q4" };
}

 

Completed
Last Updated: 21 Mar 2023 14:21 by ADMIN
Release 4.2.0 (26/04/2023)

Here is a REPL test page. If the user navigates forwards and backwards via the Wizard buttons, the TreeView checkboxes persist their state. If the user navigates via the Stepper, the checkbox state is not retained.

The issue is triggered by the TabStrip.

A possible workaround is to prevent Stepper clicks with CSS:

.k-tabstrip .k-wizard .k-stepper .k-step {
  pointer-events: none;
}

1 2