@typeparam TModel
@typeparam TId
@foreach (var item in models)
{
@GetName(item)
}
@code {
[Parameter] public Variant Variant { get; set; }
[Parameter] public string Label { get; set; }
[Parameter] public Func GetName { get; set; }
[Parameter] public Func>> GetDataFunc { get; set; }
IEnumerable models = Enumerable.Empty();
[Parameter] public TId Value { get; set; }
[Parameter] public EventCallback ValueChanged { get; set; }
private TModel model;
TModel Model
{
get
{
return model;
}
set
{
model = value;
Value = (TId)(typeof(TModel).GetProperty("Id").GetValue(model));
InvokeAsync(async () => await ValueChanged.InvokeAsync(Value));
}
}
protected override async Task OnInitializedAsync()
{
models = await GetDataFunc();
}
}