Skip to content

Sender

Sender 是聊天输入框,支持建议项、附件、语音按钮、发送和停止生成状态。

导入方式

按需导入

import { Sender } from '@weimin96/ai-chat-vue'
import '@weimin96/ai-chat-vue/styles'

完整导入

import * as AiChatVue from '@weimin96/ai-chat-vue'
import '@weimin96/ai-chat-vue/styles'

app.use(AiChatVue)

// 模板中可直接使用 <Sender />

基础用法

AI can make mistakes. Verify important information.

最近发送:尚未发送消息

API

属性类型默认值说明
valuestringundefined输入框受控值
disabledbooleanfalse是否禁用
isGeneratingbooleanfalse是否生成中
placeholderstringMessage...占位文本
ariaLabelstring消息输入文本域可访问名称
enableVoicebooleanfalse是否启用语音
enableAttachmentsbooleanfalse是否启用附件
suggestionsstring[]undefined建议项
maxLengthnumber32000最大输入长度
事件说明
update:value输入值变化
send发送消息
stop停止生成
attach选择附件
插槽说明
footer底部说明文案

双向绑定

vue
<Sender v-model:value="draft" @send="sendMessage" />

v-model:value 可用于建议项填入、草稿恢复和外部清空。发送成功后组件会清空内部输入并同步触发 update:value

可访问性

placeholder 只作为视觉提示,不能替代文本域名称。Sender 默认给 <textarea> 设置 aria-label="消息输入",业务侧可通过 ariaLabel 覆盖。使用 Headless API 时,useHeadlessSender().textareaAttrs 已包含 aria-labelaria-multilinearia-describedby