《Blazor》的teleerik UI免费下载30天试用版

组合框自定义值

ComboBox组件允许用户键入他们自己的值,这些值不是开发人员提供的预定义选项集的一部分。

用户输入的文本仍然可以通过双向绑定进入组合框绑定到的字段。

要启用自定义用户输入,请设置AllowCustom参数真正的

启用自定义值时文本框ValueField价值必须符合类型字符串。否则将抛出异常。字符串是必需的,因为用户输入可以采用任何形式,并且可能无法解析为其他类型(如数字或GUID)。

当允许自定义输入时,ValueChanged事件在每次击键时触发,而不是在选择项时触发,因为ComboBox组件充当文本输入。

键入自定义值时,组合框中可能没有选择项。看到组合框概述-选定项目文章详细介绍了如何选择项目和价值一起工作。

在组合框中允许自定义用户输入

选定值:@selectedValue 
@code {IEnumerable myComboData = Enumerable。范围(20)。Select(x => new MyDdlModel {MyTextField = "item " + x, MyValueField = x. tostring ()});string selectedValue {get;设置;} = "lorem ipsum";公共类MyDdlModel{公共字符串MyValueField {get;设置;} // ValueField必须是一个字符串公共字符串MyTextField {get;设置;}}

如何将自定义用户值添加到数据源中,以便它们立即作为项可用

@*键入自定义值,按enter或单击外部。然后,再次打开组合,你会在列表中看到新的自定义项*@ @ combovalue 
@code {public List< PRODUCT > Data {get;设置;}公共字符串ComboValue {get;设置;} = "产品3";OnInitialized() {List products = new List();For (int I = 0;I < 20; i++) { products.Add(new Product() { ProductId = i, ProductName = $"Product {i}" }); } Data = products; base.OnInitialized(); } protected void AddItem(object value) { if (Data.FirstOrDefault(item => item.ProductName == value.ToString()) == null) { Data.Insert(0, new Product() { ProductId = Data.Count + 1, ProductName = value.ToString() }); } } public class Product { // only the Name field is used in the combo, so the Id can be a number public int ProductId { get; set; } public string ProductName { get; set; } } }

限制

另请参阅

在本文中
Baidu
map