如何像这样显示@bind-value:design-value
代码如下:
Product.cs
namespace Shared.Domains
{
public class Product
{
public string Name { get; set; }
public string Design { get; set; }
}
}
ProductsController.cs (Web Api)
[HttpGet("get")]
public async Task<ActionResult<List<Product>>> Get()
{
return await _context.Products.ToListAsync();
}
ProductDetails.razor(代码)
private Product design;
private async Task<IEnumerable<Product>> Design(string value)
{
var data = await HttpClient.GetFromJsonAsync<List<Product>>("/products/get");
data = data.Select(x => new Product
{
Design = x.Design
}).ToList();
// if text is null or empty, show complete list
if (string.IsNullOrEmpty(value))
return data;
return data.Where(x => x.Design.Contains(value, StringComparison.InvariantCultureIgnoreCase));
}
ProductDetails.razor(剃须刀)
<MudAutocomplete T="Product" Label="Design" ResetValueOnEmptyText="true"
@bind-Value="@design" SearchFunc="@Design" MaxItems="null"
ToStringFunc="@(e=> e == null ? null : e.Design)" />
@(design?.ToString() ?? "Not selected")
我拥有的输出是 Shared.Domains.Product
答案 0 :(得分:0)
问题解决了。
应该像这样输入!
@(design != null ? design.Design : "Not selected")