为 MudBlazor Autocomplete 提供来自服务的内容

Supplying MudBlazor Autocomplete with content from a service

我这里有一个取自 MudBlazor 组件库文档的 Autocomplete 示例,它提供了我从预定义的可能值列表中键入的选项:

<MudAutocomplete T="string" Label="Select US state" @bind-Value="selectedValue" SearchFunc="@Search" />

@code {
    private string selectedValue;
    private string[] states =
    {
        "Alabama", "Alaska", "American Samoa", "Arizona",
        "Arkansas", "California", "Colorado", "Connecticut",
        "Delaware", "District of Columbia", "Federated States of Micronesia",
        "Florida", "Georgia", "Guam", "Hawaii", "Idaho",
        "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky",
        "Louisiana", "Maine", "Marshall Islands", "Maryland",
        "Massachusetts", "Michigan", "Minnesota", "Mississippi",
        "Missouri", "Montana", "Nebraska", "Nevada",
        "New Hampshire", "New Jersey", "New Mexico", "New York",
        "North Carolina", "North Dakota", "Northern Mariana Islands", "Ohio",
        "Oklahoma", "Oregon", "Palau", "Pennsylvania", "Puerto Rico",
        "Rhode Island", "South Carolina", "South Dakota", "Tennessee",
        "Texas", "Utah", "Vermont", "Virgin Island", "Virginia",
        "Washington", "West Virginia", "Wisconsin", "Wyoming",
    };

    private Task<IEnumerable<string>> Search(string value)
    {
        return Task.FromResult(states.Where(x => x.Contains(value, StringComparison.InvariantCultureIgnoreCase)));
    }

}

这正是我的项目所需要的。但是,如何在用户键入时从 Web api 中按需获取值?另外,有没有办法影响选项在下拉列表中的显示方式?

在搜索方法中提出您的请求。将 return Task.FromResult(states.Where(x => x.Contains(value, StringComparison.InvariantCultureIgnoreCase))); 行替换为对 API.

的调用结果