Table of Contents

Class MudSelect<T>

Namespace
MudBlazor
Assembly
MudBlazor.dll
public class MudSelect<T> : MudBaseInput<T>, IComponent, IHandleEvent, IHandleAfterRender, IMudStateHasChanged, IFormComponent, IDisposable

Type Parameters

T
Inheritance
MudSelect<T>
Implements
Inherited Members
Extension Methods

Constructors

MudSelect()

public MudSelect()

Fields

_items

protected List<MudSelectItem<T>> _items

Field Value

List<MudSelectItem<T>>

_shadowLookup

protected Dictionary<T, MudSelectItem<T>> _shadowLookup

Field Value

Dictionary<T, MudSelectItem<T>>

_valueLookup

protected Dictionary<T, MudSelectItem<T>> _valueLookup

Field Value

Dictionary<T, MudSelectItem<T>>

Properties

AnchorOrigin

Set the anchor origin point to determen where the popover will open from.

[Parameter]
[Category("List appearance")]
public Origin AnchorOrigin { get; set; }

Property Value

Origin

CanRenderValue

Returns whether or not the Value can be found in items. If not, the Select will display it as a string.

protected bool CanRenderValue { get; }

Property Value

bool

CheckedIcon

Custom checked icon.

[Parameter]
[Category("List appearance")]
public string CheckedIcon { get; set; }

Property Value

string

ChildContent

Add the MudSelectItems here

[Parameter]
[Category("List behavior")]
public RenderFragment ChildContent { get; set; }

Property Value

RenderFragment

Classname

protected string Classname { get; }

Property Value

string

ClearIcon

Custom clear icon when Clearable is enabled.

[Parameter]
[Category("Appearance")]
public string ClearIcon { get; set; }

Property Value

string

Clearable

Show clear button.

[Parameter]
[Category("Behavior")]
public bool Clearable { get; set; }

Property Value

bool

CloseIcon

The Close Select Icon

[Parameter]
[Category("Appearance")]
public string CloseIcon { get; set; }

Property Value

string

Comparer

The Comparer to use for comparing selected values internally.

[Parameter]
[Category("Behavior")]
public IEqualityComparer<T> Comparer { get; set; }

Property Value

IEqualityComparer<T>

Delimiter

Parameter to define the delimited string separator.

[Parameter]
[Category("Behavior")]
public string Delimiter { get; set; }

Property Value

string

Dense

If true, compact vertical padding will be applied to all Select items.

[Parameter]
[Category("List appearance")]
public bool Dense { get; set; }

Property Value

bool

IndeterminateIcon

Custom indeterminate icon.

[Parameter]
[Category("List appearance")]
public string IndeterminateIcon { get; set; }

Property Value

string

InputClass

Input's classnames, seperated by space.

[Category("Appearance")]
[Parameter]
public string InputClass { get; set; }

Property Value

string

InputClassname

protected string InputClassname { get; }

Property Value

string

IsValueInList

protected bool IsValueInList { get; }

Property Value

bool

Items

The collection of items within this select

public IReadOnlyList<MudSelectItem<T>> Items { get; }

Property Value

IReadOnlyList<MudSelectItem<T>>

ListClass

User class names for the internal list, separated by space

[Parameter]
[Category("List appearance")]
public string ListClass { get; set; }

Property Value

string

LockScroll

If true, prevent scrolling while dropdown is open.

[Parameter]
[Category("List behavior")]
public bool LockScroll { get; set; }

Property Value

bool

MaxHeight

Sets the maxheight the Select can have when open.

[Parameter]
[Category("List appearance")]
public int MaxHeight { get; set; }

Property Value

int

MultiSelection

If true, multiple values can be selected via checkboxes which are automatically shown in the dropdown

[Parameter]
[Category("List behavior")]
public bool MultiSelection { get; set; }

Property Value

bool

MultiSelectionTextFunc

Function to define a customized multiselection text.

[Parameter]
[Category("Behavior")]
public Func<List<string>, string> MultiSelectionTextFunc { get; set; }

Property Value

Func<List<string>, string>

OnClearButtonClick

Button click event for clear button. Called after text and value has been cleared.

[Parameter]
public EventCallback<MouseEventArgs> OnClearButtonClick { get; set; }

Property Value

EventCallback<MouseEventArgs>

OnClose

Fired when dropdown closes.

[Category("Behavior")]
[Parameter]
public EventCallback OnClose { get; set; }

Property Value

EventCallback

OnOpen

Fired when dropdown opens.

[Category("Behavior")]
[Parameter]
public EventCallback OnOpen { get; set; }

Property Value

EventCallback

OpenIcon

The Open Select Icon

[Parameter]
[Category("Appearance")]
public string OpenIcon { get; set; }

Property Value

string

OuterClass

The outer div's classnames, seperated by space.

[Category("Appearance")]
[Parameter]
public string OuterClass { get; set; }

Property Value

string

OuterClassname

protected string OuterClassname { get; }

Property Value

string

PopoverClass

User class names for the popover, separated by space

[Parameter]
[Category("List appearance")]
public string PopoverClass { get; set; }

Property Value

string

SelectAll

If set to true and the MultiSelection option is set to true, a "select all" checkbox is added at the top of the list of items.

[Parameter]
[Category("List behavior")]
public bool SelectAll { get; set; }

Property Value

bool

SelectAllCheckBoxIcon

The checkbox icon reflects the select all option's state

protected string SelectAllCheckBoxIcon { get; }

Property Value

string

SelectAllText

Define the text of the Select All option.

[Parameter]
[Category("List appearance")]
public string SelectAllText { get; set; }

Property Value

string

SelectedValues

Set of selected values. If MultiSelection is false it will only ever contain a single value. This property is two-way bindable.

[Parameter]
[Category("Data")]
public IEnumerable<T> SelectedValues { get; set; }

Property Value

IEnumerable<T>

SelectedValuesChanged

Fires when SelectedValues changes.

[Parameter]
public EventCallback<IEnumerable<T>> SelectedValuesChanged { get; set; }

Property Value

EventCallback<IEnumerable<T>>

Strict

If true, the Select's input will not show any values that are not defined in the dropdown. This can be useful if Value is bound to a variable which is initialized to a value which is not in the list and you want the Select to show the label / placeholder instead.

[Parameter]
[Category("Behavior")]
public bool Strict { get; set; }

Property Value

bool

ToStringFunc

Defines how values are displayed in the drop-down list

[Parameter]
[Category("List behavior")]
public Func<T, string> ToStringFunc { get; set; }

Property Value

Func<T, string>

TransformOrigin

Sets the transform origin point for the popover.

[Parameter]
[Category("List appearance")]
public Origin TransformOrigin { get; set; }

Property Value

Origin

UncheckedIcon

Custom unchecked icon.

[Parameter]
[Category("List appearance")]
public string UncheckedIcon { get; set; }

Property Value

string

_currentIcon

public string _currentIcon { get; set; }

Property Value

string

Methods

BlurAsync()

public override ValueTask BlurAsync()

Returns

ValueTask

BuildRenderTree(RenderTreeBuilder)

protected override void BuildRenderTree(RenderTreeBuilder __builder)

Parameters

__builder RenderTreeBuilder

CheckGenericTypeMatch(object)

public void CheckGenericTypeMatch(object select_item)

Parameters

select_item object

Clear()

Clear the selection

public Task Clear()

Returns

Task

CloseMenu(bool)

public Task CloseMenu(bool focusAgain = true)

Parameters

focusAgain bool

Returns

Task

Dispose(bool)

protected override void Dispose(bool disposing)

Parameters

disposing bool

FocusAsync()

public override ValueTask FocusAsync()

Returns

ValueTask

ForceUpdate()

public override Task ForceUpdate()

Returns

Task

GetSelectedValuePresenter()

protected RenderFragment GetSelectedValuePresenter()

Returns

RenderFragment

HasValue(T)

Fixes issue #4328 Returns true when MultiSelection is true and it has selected values(Since Value property is not used when MultiSelection=true

protected override bool HasValue(T value)

Parameters

value T

Returns

bool

True when component has a value

OnAfterRender(bool)

protected override void OnAfterRender(bool firstRender)

Parameters

firstRender bool

OnAfterRenderAsync(bool)

protected override Task OnAfterRenderAsync(bool firstRender)

Parameters

firstRender bool

Returns

Task

OnInitialized()

protected override void OnInitialized()

OnParametersSet()

protected override void OnParametersSet()

OpenMenu()

public Task OpenMenu()

Returns

Task

RegisterShadowItem(MudSelectItem<T>)

public void RegisterShadowItem(MudSelectItem<T> item)

Parameters

item MudSelectItem<T>

SelectAsync()

public override ValueTask SelectAsync()

Returns

ValueTask

SelectClearButtonClickHandlerAsync(MouseEventArgs)

Extra handler for clearing selection.

protected ValueTask SelectClearButtonClickHandlerAsync(MouseEventArgs e)

Parameters

e MouseEventArgs

Returns

ValueTask

SelectOption(int)

public Task SelectOption(int index)

Parameters

index int

Returns

Task

SelectOption(object)

public Task SelectOption(object obj)

Parameters

obj object

Returns

Task

SelectRangeAsync(int, int)

public override ValueTask SelectRangeAsync(int pos1, int pos2)

Parameters

pos1 int
pos2 int

Returns

ValueTask

SetCustomizedTextAsync(string, bool, List<string>, Func<List<string>, string>)

protected Task SetCustomizedTextAsync(string text, bool updateValue = true, List<string> selectedConvertedValues = null, Func<List<string>, string> multiSelectionTextFunc = null)

Parameters

text string
updateValue bool
selectedConvertedValues List<string>
multiSelectionTextFunc Func<List<string>, string>

Returns

Task

ToggleMenu()

public Task ToggleMenu()

Returns

Task

UnregisterShadowItem(MudSelectItem<T>)

public void UnregisterShadowItem(MudSelectItem<T> item)

Parameters

item MudSelectItem<T>

UpdateTextPropertyAsync(bool)

protected override Task UpdateTextPropertyAsync(bool updateValue)

Parameters

updateValue bool

Returns

Task

UpdateValuePropertyAsync(bool)

protected override Task UpdateValuePropertyAsync(bool updateText)

Parameters

updateText bool

Returns

Task