[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 {
|
@code {
|
||||||
|
private TBind _value;
|
||||||
[Parameter] [EditorRequired] public required IEnumerable<DropdownElement<TBind>> Elements { get; set; }
|
[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; }
|
[Parameter]
|
||||||
private DropdownElement<TBind>? CurrentSelection { get; set; }
|
[EditorRequired]
|
||||||
private RenderFragment? CurrentIcon { get; set; }
|
public required TBind Value
|
||||||
private bool Visible { get; set; } = false;
|
{
|
||||||
|
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)
|
private void UpdateSelected(DropdownElement<TBind> element)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue