MultiColumnComboBox自定义值
MultiColumnComboBox组件允许用户输入他们自己的值,这些值不是开发人员提供的预定义选项集的一部分。
用户输入的文本仍然可以通过双向绑定进入组合框绑定的字段。
启用自定义用户输入AllowCustom
参数真正的
.
启用自定义值时,
文本框
,ValueField
和价值
必须有类型字符串
.否则将引发异常。字符串是必需的,因为用户输入可以采用任何形式,并且可能无法解析为其他类型(例如数字或GUID)。
当允许自定义输入时,ValueChanged事件在每次击键时触发,而不是在选择项目时触发,因为MultiColumnComboBox组件充当文本输入。
在输入自定义值时,可能没有选定的项目。看到取值及选择项有关如何选择项目和价值
一起工作。
允许在组合框中自定义用户输入
选定值:@selectedValue
@code {IEnumerable myComboData = Enumerable。范围(20)。Select(x => new MyDdlModel {MyTextField = "item " + x, MyValueField = x. tostring ()});字符串selectedValue{获取;设置;} = "lorem ipsum";公共类MyDdlModel{公共字符串MyValueField{获取;设置;} // ValueField必须是一个字符串 set; } } }
如何将自定义用户值添加到数据源中,使它们立即作为项可用
@*输入自定义值,按enter键或单击外部。然后,再次打开combo,你会在列表中看到新的自定义项目*@ @ combovalue
@code {public List Data {get;设置;}公共字符串ComboValue{获取;设置;} = "产品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; } } }
限制
AllowCustom
不兼容自适应呈现.