Files
platforms/.agents/skills/arco-design-vue/references/components/data-entry/auto-complete.md

3.1 KiB
Raw Blame History

name, description, user-invocable
name description user-invocable
arco-vue-auto-complete Arco Design Vue 自动补全 AutoComplete 组件参考。用于 Vue 3、`@arco-design/web-vue`、`<a-auto-complete>`、属性、事件、插槽、示例和实现细节。 false

自动补全 AutoComplete

简介

自动补全的基础用法

基本用法

<template>
  <a-auto-complete :data="data" @search="handleSearch" :style="{width:'360px'}" placeholder="please enter something"/>
</template>

<script>
export default {
  data() {
    return {
      data: []
    }
  },
  methods: {
    handleSearch(value) {
      if (value) {
        this.data = [...Array(5)].map((_, index) => `${value}-${index}`)
        console.log(this.data)
      } else {
        this.data = []
      }
    }
  }
}
</script>

API

<auto-complete> 属性

参数名 描述 类型 默认值 版本
model-value (v-model) 绑定值 string -
default-value 默认值(非受控模式) string ''
disabled 是否禁用 boolean false
data 用于自动提示的数据 (string | number | SelectOptionData | SelectOptionGroup)[] []
popup-container 弹出框的挂载容器 string | HTMLElement | null | undefined -
strict 是否为严格校验模式 boolean false
filter-option 自定义选项过滤方法 FilterOption true
trigger-props trigger 组件属性 TriggerProps - 2.14.0
allow-clear 是否允许清空输入框 boolean false 2.23.0
virtual-list-props 传递虚拟列表属性,传入此参数以开启虚拟滚动 VirtualListProps VirtualListProps - 2.50.0

<auto-complete> 事件

事件名 描述 参数 版本
change 绑定值发生改变时触发 value: string
search 用户搜索时触发 value: string
select 选择选项时触发 value: string
clear 用户点击清除按钮时触发 ev: Event 2.23.0
dropdown-scroll 下拉菜单发生滚动时触发 ev: Event 2.52.0
dropdown-reach-bottom 下拉菜单滚动到底部时触发 ev: Event 2.52.0

<auto-complete> 方法

方法名 描述 参数 返回值 版本
focus 使输入框获取焦点 - - 2.40.0
blur 使输入框失去焦点 - - 2.40.0

<auto-complete> 插槽

插槽名 描述 参数 版本
option 选项内容 data: OptionInfo 2.13.0
footer 弹出框的页脚 -

常用模式

  • 区分大小写:使用 strict 属性来指明在匹配时严格区分大小写。
  • 弹出框的页脚:自定义弹出框的页脚

最佳实践

  • 新代码优先使用 Vue 3、Composition API 和 <script setup lang="ts">
  • 模板属性使用 kebab-case事件使用 @event-name,插槽使用 #slot-name
  • 不要套用 React 专属 API例如 JSX children、Component.SubForm.useForm
  • 需要进入表单校验或提交流程的控件,优先放在 a-form-item 中并绑定明确的 field
  • 输入值优先使用 v-model;范围、弹窗类状态使用组件文档中的命名 v-model:*