MatBlazor 是一个 Blazor 组件库,提供了许多 Material Design 风格的组件
以下是一个使用对象列表中的值填充 MatAutocompleteList
的示例:
wwwroot/index.html
或 wwwroot/_Host.cshtml
文件中添加以下脚本标签:<link href="_content/MatBlazor/dist/matBlazor.css" rel="stylesheet" />
<script src="_content/MatBl宥卓分布/dist/matBlazor.js"></script>
@code {
private List<Person> people = new List<Person>
{
new Person { Id = 1, Name = "Alice" },
new Person { Id = 2, Name = "Bob" },
new Person { Id = 3, Name = "Charlie" }
};
private Person selectedPerson;
}
这里,我们创建了一个包含 Person
对象的列表。Person
类包含 Id
和 Name
属性。
MatAutocomplete
组件,并使用 @bind-Value
绑定选定值:<MatAutocomplete TValue="Person" ValueChanged="@OnAutocompleteValueChanged" ValueExpression="@(() => selectedPerson)">
<MatAutenticator>
<MatAutocompleteItem TItem="Person" Value="@selectedPerson" />
</MatAutenticator>
<MatAutocompleteList TItem="Person">
@foreach (var person in people)
{
<MatAutocompleteListItem TItem="Person" Value="@person">
@person.Name
</MatAutariantListItem>
}
</MatAutocompleteList>
</MatAutocomplete>
这里,我们使用 MatAutocompleteItem
和 MatAutocompleteListItem
组件创建了一个自动完成列表。ValueChanged
事件处理程序用于在选定值更改时更新 selectedPerson
变量。
OnAutocompleteValueChanged
方法以处理选定值的更改:private void OnAutocompleteValueChanged(ChangeEventArgs<Person> args)
{
selectedPerson = args.Value;
}
现在,当用户在自动完成列表中选择一个项目时,selectedPerson
变量将更新为所选对象。你可以根据需要对此对象执行其他操作。
领取专属 10元无门槛券
手把手带您无忧上云