@page "/" @{ value3=value3Items[2]; } <MatButton class="add" TrailingIcon="keyboard_arrow_down" OnClick="@OnStartEdit">Click me</MatButton> <MatDialog @bind-IsOpen="@ShowEdit"> <MatDialogTitle>Change the name</MatDialogTitle> <MatDialogContent> <MatSelectItem @bind-Value="value3" Items="@value3Items" TValue="ItemType"> <ItemTemplate> <span style="color: @context.Color">@context?.Name</span> </ItemTemplate> </MatSelectItem> <p> <Input @onchange="OnItemChanged" value="@value3.Name" required /> </p> <p> Selected value: @(value3?.Name) </p> </MatDialogContent> <MatDialogActions> <MatButton TrailingIcon="save_outline" class="add" OnClick="@OnStopEdit">Finish</MatButton> </MatDialogActions> </MatDialog> @code { bool ShowEdit { get; set; } ItemType[] value3Items {get;set;} = new[] { new ItemType("", "black"), new ItemType("Grains", "brown"), new ItemType("Vegetables", "green"), new ItemType("Fruit", "orange"), }; ItemType value3 {get;set; } void OnItemChanged(ChangeEventArgs e) { value3.Name = e.Value?.ToString(); } private void OnStartEdit() { ShowEdit = true; } private void OnStopEdit() { ShowEdit = false; } class ItemType { public string Name { get; set;} public string Color { get; } public ItemType(string name, string color) { Name = name; Color = color; } } }
namespace BlazorFiddleProject { using Microsoft.AspNetCore.Components.Builder; using Microsoft.Extensions.DependencyInjection; public class Startup { public void ConfigureServices(IServiceCollection services) { } public void Configure(IComponentsApplicationBuilder app) { app.AddComponent<App>("app"); } } }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width"> <title>BlazorFiddleProject</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="_content/MatBlazor/dist/matBlazor.js"></script> <style> app { } </style> <script type="text/javascript"> </script> </head> <body> <app>Loading...</app> <script src="_framework/blazor.webassembly.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> </body> </html>

Add component

BlazorFiddle was updated from Blazor 0.7 to .NET 6.0. Your old source code could not work. You need to upgrade to latest.