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