[frontend] Two way data binding for Dropdown
This commit is contained in:
parent
f428d940ed
commit
39a9cd0f6e
1 changed files with 19 additions and 5 deletions
|
@ -15,12 +15,26 @@
|
|||
}
|
||||
|
||||
@code {
|
||||
private TBind _value;
|
||||
[Parameter] [EditorRequired] public required IEnumerable<DropdownElement<TBind>> Elements { get; set; }
|
||||
[Parameter] [EditorRequired] public required TBind Value { get; set; }
|
||||
[Parameter] public EventCallback<TBind> ValueChanged { get; set; }
|
||||
private DropdownElement<TBind>? CurrentSelection { get; set; }
|
||||
private RenderFragment? CurrentIcon { get; set; }
|
||||
private bool Visible { get; set; } = false;
|
||||
|
||||
[Parameter]
|
||||
[EditorRequired]
|
||||
public required TBind Value
|
||||
{
|
||||
get => _value;
|
||||
set
|
||||
{
|
||||
_value = value;
|
||||
CurrentSelection = Elements.First(element => element.Selection != null && element.Selection.Equals(value));
|
||||
CurrentIcon = CurrentSelection.Icon;
|
||||
}
|
||||
}
|
||||
|
||||
[Parameter] public EventCallback<TBind> ValueChanged { get; set; }
|
||||
private DropdownElement<TBind>? CurrentSelection { get; set; }
|
||||
private RenderFragment? CurrentIcon { get; set; }
|
||||
private bool Visible { get; set; } = false;
|
||||
|
||||
private void UpdateSelected(DropdownElement<TBind> element)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue