v-autocomplete
组件提供简单灵活的输入提示功能。当搜索大量数据甚至从 API 中动态请求信息时是十分有用的。
在为 items 属性使用对象时,您必须将 item-text 和 item-value 与对象上的现有属性关联。这些值默认为 text 和 value,可以更改。
menu-props 的 auto 属性只支持默认输入样式。
浏览器自动完成默认设置为关闭,可能因浏览器而异,可能会被忽略。MDN
从下面选择您想要的组件,并查看可用的属性、插槽、事件和函数。
允许菜单溢出屏幕
在组件上附加一个图标,使用与 v-icon
相同的语法
在组件的外部添加一个图标,使用与 v-icon
相同的语法
指定此组件应该与哪个 DOM 元素分离。to.String 可以是任何有效的 querySelector,对象可以是任何有效的 Node。这将默认挂载到根节点 v-app
。
搜索时,总是选中第一个选项
启用自动聚焦
更改输入的背景颜色
保留已经通过 items 属性的项在本地的唯一副本
改变一个已选择项为小纸片(chips)的显示方式
当使用 clearable 且有输入值时应用
添加输入框清除功能,默认图标是 Material Icons clear
将指定的颜色应用于控件 - 它可以是 material color 的名称(例如 success
或者 purple
)或 css 颜色 (#033
或 rgba(255, 0, 0, 0.5)
)。 你可以在 colors page 中找到内置类的列表。
为输入长度创建一个计数器,如果未指定数字,则默认为25,不会应用任何验证。
将深色主题变量应用于组件。 除非您已将 application theme 配置为 dark 或在组件上使用 color 属性,否则组件的颜色默认为 _white_。 您可以在材料设计文档中找到更多信息 dark themes。
添加一个去除图标的到选定的小纸片(chips)
降低输入高度
禁用键盘查询
禁用输入
将强制组件内容在加载时呈现。如果存在内容的话,则不会在 DOM 中渲染,如果你想优化 SEO,这是非常有用的。
将输入框设置为手动错误状态。
一次性显示的错误总数
将输入框置于错误状态,并传入自定义的错误信息。将与来自 rules 属性的任何验证相结合。这个字段不会触发验证。
应用替代填充输入样式
用于过滤条目的功能
当使用solo或者solo-inverted属性时,移除添加到元素的标高(阴影)
指定输入类型为全宽度
设置输入的高度
隐藏提示和验证错误。当设置为 auto
时,只有在有信息(提示、错误信息、计数器值等)要显示时,才会显示信息。
当没有要显示的选项时,隐藏菜单。用于防止在异步获取结果之前打开菜单。也有打开菜单的效果,当“ items
数组改变,如果还没有打开。
不要在选择菜单中显示已选择的项
提示文本
设置组件上的 DOM id
设置选中项目的颜色
禁用 items 的属性值
设置items'属性的文本值
设置 items 的值的属性 - 必须是 primitive。支持点符号。注意: 目前不支持 v-combobox
GitHub问题。
可以是对象数组或字符串数组。当使用对象时,将寻找文本和值字段。 这可以使用 item-text 和 item-value 属性来更改。 具有 header 或 divider 属性的对象被视为特殊情况并生成列表头或分隔符;这些是不可选择的。
{
text: string | number | object
value: string | number | object
disabled: boolean
divider: boolean
header: string
}
设置输入标签
为组件设置浅色主题。
指定加载器的高度
显示线性进度条。可以是指定将哪种颜色应用于进度条的字符串(任何 material 色彩——主要(primary), 次要(secondary), 成功(success), 信息(info),警告(warning),错误(error)),或者使用组件的布尔值 color(由色彩属性设置——如果它被组件支持的话)还可以是原色。
将属性传递到 v-menu
组件。接受布尔属性 menu-props="auto, overflowY"
,或一个对象 :menu-props="{ auto: true, overflowY: true }"
显示消息列表或消息(如果使用字符串)
多选,接受数组作为值
当没有数据时显示的文本
搜索时不要应用过滤。在过滤服务器端数据时非常有用
当使用 clearable 属性, 一旦清除,选择菜单将打开或保持打开,这个取决于当前状态
将轮廓样式应用于输入
强制提示总是可见的
设置输入的占位符文本
显示前缀
在组件前添加一个图标,使用与 v-icon
相同的语法
在组件的输入中添加一个图标,使用与 v-icon
相同的语法
将输入设置为只读状态
将选择器的行为更改为直接返回对象,而不是 item-value 指定的值
反转输入方向
向输入添加边框半径
接受一个函数数组(array of functions),该数组接受一个输入值作为参数,并返回 true
/ false
或 a string
和一个错误消息
搜索值。可与 .sync
修改器一起使用。
如果 outlined
则为圆形,如果 filled
则增加 border-radius
。必须与 outlined
或 filled
一起使用
标签在 focus/dirty 上不移动
使用 small 属性将选择的显示更改为纸片
改变输入框的样式
减少元素的不透明度,知道获得焦点
将输入设置为手动成功状态
将输入设置为成功状态,并传递自定义成功消息。
显示后缀
设置输入类型
延迟验证直到失去焦点的事件被触发
输入的值
在输入内容后添加一个项目
在菜单内容后添加项目
在输入内容内追加一个项目
默认Vue 插槽。
定义自定义项外观
{
parent: VueComponent
item: object
on: object // Only needed when providing your own v-list-item
attrs: object // Only needed when providing your own v-list-item
}
替换默认标签
自定义消息插槽。
{
key: number, // the messages index
message: string, // the message
}
没有筛选项目时显示的文本
在输入内容之前添加一个项目
在输入内容中预设一个项目
在菜单内容之前添加项目
自定义进度线的插槽(loading属性不等于布尔值False时显示)
定义自定义选择器外观
{
parent: VueComponent
item: object
index: number
select: function
selected: boolean
disabled: boolean
}
当输入焦点时发出
Event
当用户交互更改输入时发出
any
在单击输入时发出
MouseEvent
单击附加图标时发出
Event
单击附加的外部图标时发出
Event
单击可清除图标时发出
Event
单击前置图标时发出
Event
单击前置的内部图标时发出
Event
组件聚焦时发出
Event
被绑定模型的更新
any
按下 任何 键时发送
KeyboardEvent
单击时发出
MouseEvent
当单击释放时,发出
MouseEvent
error.sync
事件
boolean
使用键盘箭头选择菜单项时发出
number
search-input.sync
事件
string
20px !default;
24px !default;
64px !default;
下面是一些简单到复杂的例子。
轻松绑定动态数据并创造独特的体验。v-autocomplete
的扩展的支持列表使得对输入的各个方面进行调优变得很容易。
propfilter
可以用来过滤每个项目,并带有自定义逻辑。在这个例子中,我们按名称过滤项目
您可以使用 dense
属性来降低自动完成高度和列表项的最大高度。
利用插槽的强大功能,您可以自定义选择的可视输出。在本例中,我们为纸片和列表项添加了一个配置文件图片。
有时您需要根据搜索查询从外部加载数据。 使用 autocomplete
属性时,请使用带有 .sync 修饰符的 search-input
属性。 我们还利用了新的 cache-items
属性。 这将保留已传递给 items
属性的所有物品的唯一列表,并且在使用异步属性和 multiple 属性时是 REQUIRED 的。
v-autocomplete
组件非常灵活,几乎可以适应任何用例。 为 no-data, item 和 selection 插槽创建自定义显示,以提供独特的用户体验。 使用 slots 可使您轻松自定义应用程序所需的外观。
结合使用 v-autocomplete
插槽和过渡,您可以创建一个时尚的可切换自动完成字段,例如此状态选择器。