mym*_*est 6 c# blazor blazor-client-side
我有一个 Blazor 应用程序,我在其中使用 Radzen 组件。具体来说,我正在使用下拉组件。我遇到了无法将数据绑定到浮点数列表的问题。
<RadzenDropDown @bind-Value="@model.modelValue" Data="options"></RadzenDropDown>
@code {
List<float> options;
options.Add(1);
options.Add(2);
...
}
Run Code Online (Sandbox Code Playgroud)
当我尝试此操作时,出现以下错误:
无法从“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>
Run Code Online (Sandbox Code Playgroud)
我想避免这种情况,因为我有一个模式,允许用户手动输入一个值,如果我必须将浮点值转换为对象,我无法显示该值。
反正有绑定到原语吗?
该组件正在寻找IEnumerable<object>,而不是float。您可以传入 a List<object>(因为它实现了IEnumerable),然后将floats 放入其中,因为floats 是objects。这是一个完整的工作示例。
@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);
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定 Radzen 是否有一个我不明白的技术原因无法做到这一点,但他们似乎没有做到这一点,而不是这样IEnumerable<T>做IEnumerable<object>
| 归档时间: |
|
| 查看次数: |
3490 次 |
| 最近记录: |