- name: u-auto-complete
  title: 自动完成
  labels:
    - 表单控件
    - 行内展示
  description: 输入框自动完成。与选择框的区别是，自动完成是一个带提示的文本框，用户可以自由输入，筛选和填充使用的是文本字段；而选择框是在限定的可选项中进行选择，筛选使用的是文本字段，选择后使用的是值字段。
  attrs:
    - name: value
      title: 值
      type: string
      sync: true
      model: true
      description: 输入框的值
    - name: clearable
      title: 清除按钮
      type: boolean
      description: 开启并在输入框有内容时会显示清除按钮。
    - name: placeholder
      title: 占位符
      type: string
      description: 原生属性。对 IE9 做了兼容。
    - name: minlength
      title: 最小长度
      type: number
      description: 原生属性
    - name: maxlength
      title: 最大长度
      type: number
      description: 原生属性
    - name: spellcheck
      title: 拼写检查
      type: boolean
      description: 原生属性
    - name: autofocus
      title: 自动获取焦点
      type: boolean
      description: 是否自动获取焦点
    - name: readonly
      title: 只读
      type: boolean
      default: false
      description: 是否只读
    - name: disabled
      title: 禁用
      type: boolean
      default: false
      description: 是否禁用
    - name: size
      title: 尺寸
      type: size
      options:
        - mini
        - small
        - normal
        - medium
        - large
        - huge
        - full
      default: normal
      description: 大小扩展，支持一个值：`'mini'`, `'small'`, `'normal'`, `'medium'`, `'large'`,
        `'huge'`, `'full'`，或两个值的组合，前者表示高度，后者表示宽度，类似CSS的padding书写格式
    - name: maxlengthMessage
      title: 长度上限提示
      type: string
      default: null
      description: "\b\b输入内容达到上限时的错误提示，且被 [FormItem](#/components/u-form) 包裹时生效"
  slots:
    - concept: Slot
      name: default
      title: 默认
      description: 插入 HTML 或 `Component`, 可展示额外内容。
      quick-add: never
  events:
    - name: before-input
      title: 输入前
      description: 输入前触发。可以在这个阶段阻止输入，或者修改输入的值 $event.value
      params:
        - name: $event.oldValue
          type: string
          description: 旧的值
        - name: $event.value
          type: string
          description: 输入框的值
        - name: $event.preventDefault
          type: Function
          description: 阻止输入流程
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: input
      title: 输入时
      description: 输入时触发。
      params:
        - name: $event
          type: string
          description: 输入框的值
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: change
      title: 改变后
      description: 值变化时触发。（注意：与原生事件不同）
      params:
        - name: $event.value
          type: string
          description: 改变后的值
        - name: $event.oldValue
          type: string
          description: 旧的值
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: focus
      title: 获得焦点
      description: 获得焦点时触发。
      params:
        - name: $event
          type: FocusEvent
          description: 原生事件对象
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: blur
      title: 失去焦点
      description: 失去焦点时触发。
      params:
        - name: $event
          type: FocusEvent
          description: 原生事件对象
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: before-clear
      title: 清空前
      description: 清空前触发。
      params:
        - name: $event.value
          type: string
          description: 清空后的值
        - name: $event.oldValue
          type: string
          description: 待清空的值
        - name: $event.preventDefault
          type: Function
          description: 阻止清空流程
        - name: senderVM
          type: UInput
          description: 发送事件实例
    - name: clear
      title: 清空后
      description: 清空后触发。
      params:
        - name: $event.value
          type: string
          description: 清空后的值
        - name: $event.oldValue
          type: string
          description: 旧的值
        - name: senderVM
          type: UInput
          description: 发送事件实例
  methods:
    - name: focus()
      description: 让输入框获取焦点。
      params: []
    - name: blur()
      description: 让输入框失去焦点。
      params: []
    - name: clear()
      description: 清空输入框。
      params: []
