Blazor Radzen在原始类型上的下拉列表?

我有一个Blazor应用程序,正在使用Radzen组件。具体来说,我正在使用下拉组件。我遇到一个问题,无法将数据绑定到浮点列表。

<RadzenDropDown @bind-Value="@model.modelValue" Data="options"></RadzenDropDown>

@code {
    List<float> options;
    options.Add(1);
    options.Add(2);
    ...
}

尝试此操作时,出现以下错误:

  

无法从“ System.Collections.Generic.List”转换为“ System.Collections.Generic.IEnumerable”

我知道可以执行以下操作使其起作用:

<RadzenDropDown @bind-Value="@model.modelValue" TextProperty="Text"  Data="@(options.Select(s => new { Text = s,Value = s }))"></RadzenDropDown>

我想避免这种情况,因为我有一个模态,允许用户手动输入一个值,如果必须将float值转换为对象,则无法显示该值。

反正还有绑定到基元吗?

inlove2100 回答:Blazor Radzen在原始类型上的下拉列表?

组件正在寻找IEnumerable<object>,而不是float。您可以传入List<object>(因为它实现了IEnumerable),然后将float放入其中,因为floatobject。这是一个完整的工作示例。

@page "/radzentest"


<RadzenDropDown TValue="float" Data="Options"></RadzenDropDown>

@code {

    List<object> Options = new List<object>();
    protected override void OnInitialized()
    {
        Options.Add(1.1f);
        Options.Add(2.5f);
    }
}

结果:
on technet

我不确定我是否不理解Radzen无法做到这一点的技术原因,但似乎他们不愿意使用IEnumerable<T>而不是{ {1}}

本文链接:https://www.f2er.com/2968902.html

大家都在问