此处支持同步融合。
我们已经检查了提供的代码示例和问题详细信息。我们怀疑报告的问题可能是由于您的应用程序中的数据源类型和 TItem 不匹配造成的。
另外,我们建议您在 OnInitialized 方法中绑定 async 方法,而不是直接分配给 tag helper 以避免最终出现问题。
我们已经准备了样本供您参考,并附在下面。
示例链接: https://www.syncfusion.com/downloads/support/directtrac/274346/ze/ComboBox_274346-1580423979
[index.razor]
<SfComboBox TValue="string" TItem="Countries" PopupHeight="230px" Placeholder="Project Status" FloatLabelType="Syncfusion.Blazor.Inputs.FloatLabelType.Auto"
DataSource="@DataSource" @bind-Value="@val">
<ComboBoxFieldSettings Text="Name" Value="Code"></ComboBoxFieldSettings>
</SfComboBox>
@code {
private string val { get; set; }
public CountryService DataService;
public List<Countries> DataSource = new List<Countries>();
protected override async Task OnInitializedAsync()
{
DataSource = await ownservice.GetDataAsync();
this.val = await ownservice.GetPreSelectDataAsync();
}
}
[OwnService.cs]
public class CountryService
{
public async Task<List<Countries>> GetDataAsync()
{
List<Countries> Country = new List<Countries>
{
new Countries() { Name = "Australia", Code = "AU" },
new Countries() { Name = "Bermuda", Code = "BM" },
new Countries() { Name = "Canada", Code = "CA" },
new Countries() { Name = "Cameroon", Code = "CM" },
new Countries() { Name = "Denmark", Code = "DK" },
new Countries() { Name = "France", Code = "FR" },
new Countries() { Name = "Finland", Code = "FI" }
};
return await Task.FromResult(Country);
}
public async Task<string> GetPreSelectDataAsync()
{
string value = "AU";
return await Task.FromResult(value);
}
}
[Startup.cs]
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(option => option.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSyncfusionBlazor();
services.AddSingleton<CountryService>();
}
[WeatherForecast.cs]
public class Countries
{
public string Name { get; set; }
public string Code { get; set; }
}