MBTabBar<TItem>
Summary
A Material Tab Bar, including scroll function for when the tab bar is wider than the viewport.
Details
- Accepts an IEnumerable of tab labels and (optional) icons;
- Two-way binds the tab index number;
- Ignores the
Disabledattribute - Takes a boolean to indicate whether icons are stacked vertically above labels or not; and
- Applies density subsystem.
Assisting Blazor Rendering with @key
- MBTabBar renders similar table rows with a
foreachloop; - In general each item rendered in a loop in Blazor should be supplied with a unique object via the
@keyattribute - see Blazor University; - MBTabBar by default uses each item in the
Itemsparameter as the key, however you can override this. Material.Blazor does this because we have had instances where Blazor crashes with the default key giving an exception message such as "The given key 'MyObject' was not present"; - You can provide a function delegate to the
GetKeysFuncparameter - we have used two variants of this:- First to get a unique
Idproperty that happens to be in our item's class:GetKeysFunc="@((item) => item.Id)"; and - Second using a "fake key" where we create a GUID to act as the key:
GetKeysFunc="@((item) => Guid.NewGuid())". - You can see an example of this in the MBList demonstration website page's code.
- First to get a unique