Blazor MultiSelect概述
的Blazor MultiSelect组件允许用户从可用列表中选择若干项。它类似于a<选择多个>
在这方面。多重选择提供建议,你键入,他们可以过滤后的.您可以通过以下方式控制建议列表数据绑定,各种外观设置喜欢维而且模板.
MultiSelect组件是Blazor的Telerik UI,一个专业级的UI库,包含100个本地组件,用于构建现代和功能丰富的应用程序。想要试用它,可以注册一个30天的免费试用期。
创建多选
使用
TelerikMultiSelect
标记,将组件添加到razor页面。填充
数据
属性设置为您希望在下拉列表中显示的项的集合。绑定组件的值属性中定义的类型相同类型的集合
ValueField
参数。(可选)启用占位符文本、清除按钮和自动关闭等功能。
MultiSelect双向值绑定,主要特点,简单数据绑定
@*主要功能和简单的数据绑定建议和值*@ @if (Values。计数> 0){ @foreach(值中的var项){- @item
}
} @code{列表国家{get;设置;} = new List();List Values {get;设置;} = new List();OnInitialized() {nations . add("阿尔巴尼亚");国家。增加(“波斯尼亚-黑塞哥维那”);Countries.Add(“保加利亚”); Countries.Add("Croatia"); Countries.Add("Kosovo"); Countries.Add("North Macedonia"); Countries.Add("Montenegro"); Countries.Add("Serbia"); Countries.Add("Slovenia"); base.OnInitialized(); } }
数据绑定
Blazor MultiSelect需要一个数据源,以便它可以用数据填充下拉列表。要提供数据源,请使用数据
财产。阅读更多关于Blazor MultiSelect数据绑定…
过滤
Blazor MultiSelect有一个内置过滤器,可以根据最终用户类型缩小显示的建议范围。要配置此特性,请使用滤过性的
参数。此外,您还可以选择不同的筛选操作符,并在包含建议的列表将出现多少符号之后配置。阅读更多关于Blazor MultiSelect过滤器…
分组
Blazor MultiSelect使您能够将列出的建议分组到类别中,以便您可以帮助最终用户更快地浏览较长的列表。阅读更多关于Blazor MultiSelect分组…
模板
您可以使用内置模板的功能并自定义组件的默认呈现。阅读更多关于Blazor MultiSelect模板…
验证
通过使用内置验证,可以确保组件值是可接受的。阅读更多关于输入验证的信息….
虚拟化
通过虚拟化下拉列表中的元素,您可以使用巨大的数据源,而不会出现性能问题。UI虚拟化同时适用于本地和远程数据。阅读更多关于Blazor MultiSelect虚拟化…
自适应呈现
该组件根据屏幕大小支持不同的弹出式呈现。阅读更多关于自适应渲染功能以及如何启用它…
参数
Blazor MultiSelect提供了各种参数,允许您配置组件:
参数 | 类型 | 描述 |
---|---|---|
AdaptiveMode |
AdaptiveMode ( 没有一个 ) |
的自适应模式组件的。 |
AutoClose |
保龄球 ( 真正的 ) |
定义包含多重选择项的下拉列表是否在每次用户选择后自动关闭。 |
ClearButton |
保龄球 |
用户是否可以通过输入上的按钮来清除所选项目。单击时,价值 将被更新为空列表。 |
数据 |
IEnumerable < TItem > |
允许您提供数据源。必需的。 |
DebounceDelay |
int 150 |
最后输入的符号与内部符号之间的时间(以毫秒为单位)oninput 事件触发。当用户输入和筛选时应用。使用它来平衡客户端性能和数据库查询数量。 |
启用 |
保龄球 |
组件是否启用。 |
滤过性的 |
保龄球 |
是否过滤为最终用户启用(建议将在输入时缩小范围)。 |
FilterOperator |
StringFilterOperator ( StartsWith ) |
将用于的字符串操作过滤. |
Id |
字符串 |
渲染为id 属性上的<选择/ > 元素,所以你可以附加一个<标签= " " > 到它。 |
最小长度 |
int |
在建议列表出现之前,文本必须有多少个字符。不能0 .经常和过滤. |
占位符 |
字符串 |
当没有选择时,用户视为提示的文本。 |
文本框 |
字符串 ( 文本 ) |
模型中的字段,从中获取项的文本。 |
TItem |
类型 |
组件绑定到的模型的类型。如果你不能提供数据 或价值 .确定引用对象的类型。 |
TValue |
类型 |
组件绑定到的模型中值字段的类型。如果你不能提供数据 或价值 .确定引用对象的类型。值的类型可以是:- 数量 (如int ,双 ,等等)- 字符串 - Guid - 枚举 |
标题 |
字符串 |
在弹出窗口(动作表)头部呈现的标题文本。仅适用于以下情况AdaptiveMode 设置为汽车 . |
价值 而且bind-Value |
< TValue列表> |
获取/设置组件的值,可用于绑定。使用@bind-Value 用于双向绑定的语法,例如,到您自己的变量。的价值 一定是< TValue列表> . |
ValueField |
字符串 ( 价值 ) |
将在选择中用作值的模型字段的名称。 |
TabIndex |
int ? |
国会议员tabindex HTML元素的属性。控件聚焦表单中的输入的顺序可以使用它自定义选项卡 关键。 |
造型和外观
以下参数使您能够自定义Blazor MultiSelect的外观:
参数 | 类型 | 描述 |
---|---|---|
类 |
字符串 |
将在组件的主包装元素上呈现的CSS类。用它来重写主题或应用自定义样式. |
宽度 |
字符串 |
组件的宽度。如果下拉菜单没有设置特定的宽度,它将同时瞄准下拉菜单和主元素。默认的宽度 值为空,但主题适用100% .使用宽度 属性或自定义CSS来设置另一个值在任何支持的单位中. |
控件中可以找到自定义多选样式的更多选项外观的文章.
弹出设置
组件的弹出窗口可以通过嵌套标签进行额外定制:
. /
MultiSelect提供了以下弹出设置:
参数 | 类型 | 描述 |
---|---|---|
AnimationDuration |
int |
弹出窗口的动画持续时间,以毫秒为单位。 |
类 |
字符串 |
附加的CSS类来自定义弹出框的外观。 |
高度 |
字符串 |
弹出窗口的高度。 |
MinHeight |
字符串 |
弹出窗口的最小高度。 |
MinWidth |
字符串 |
弹出窗口的最小宽度。 |
MaxHeight |
字符串 |
弹出窗口的最大高度。 |
MaxWidth |
字符串 |
弹出窗口的最大宽度。 |
宽度 |
字符串 |
弹出窗口的宽度。如果你不指定一个值,下拉框宽度将匹配锚元素宽度,这有助于响应式布局和100%宽度。 |
如果您正在从描述下拉项的视图模型中寻找更多字段,而不仅仅是
价值
,请参阅从下拉菜单中获取模型KB文章和OnChange事件。您可能还想查看/加入讨论并为此请求投票:将下拉列表值绑定到复杂模型
多选择引用和方法
MultiSelect是一个通用组件,它的类型由用作其数据源的模型的类型决定。你可以在数据绑定-注意事项篇文章。
控件添加对组件实例的引用以使用多选的方法.
方法 | 描述 |
---|---|
关闭 |
关闭弹出窗口。 |
FocusAsync |
聚焦组件的主要元素。总是等待 这个调用,正如它所依赖的JSInterop . |
开放 |
打开弹出窗口。 |
打开弹出窗口 @code {private TelerikMultiSelect MultiSelectRef {get;设置;} private List MultiSelectValue {get;设置;} private List MultiSelectData {get;设置;} = new List {"first", "second", "third"};private void OpenPopup() {MultiSelectRef.Open();}}