Skip to content

AutoComplete 自动完成

介绍

AutoComplete 自动完成组件是输入框的扩展,当输入内容时提供相关建议。

基础用法

基本使用

vue
<template>
  <yc-auto-complete 
    v-model="value" 
    :data="options"
    placeholder="请输入内容"
  />
</template>

<script setup>
import { ref } from 'vue'

const value = ref('')
const options = ref(['Vue', 'React', 'Angular', 'JavaScript', 'TypeScript'])
</script>

自定义数据源

vue
<template>
  <yc-auto-complete 
    v-model="value" 
    :data="filteredOptions"
    @input="handleInput"
    placeholder="搜索用户"
  />
</template>

<script setup>
import { ref, computed } from 'vue'

const value = ref('')
const users = ref([
  { label: '张三', value: 'zhangsan' },
  { label: '李四', value: 'lisi' },
  { label: '王五', value: 'wangwu' }
])

const filteredOptions = computed(() => {
  if (!value.value) return users.value
  return users.value.filter(user => 
    user.label.includes(value.value)
  )
})

const handleInput = (val) => {
  // 处理输入逻辑
}
</script>

API

AutoComplete Props

参数名描述类型默认值
modelValue绑定值string-
data数据源Array[]
placeholder占位文本string-
disabled是否禁用booleanfalse

AutoComplete Events

事件名描述参数
input输入时触发(value: string)
select选择选项时触发(value: any)
focus获得焦点时触发(event: FocusEvent)
blur失去焦点时触发(event: FocusEvent)

Released under the MIT License.