# Bubble 聊天气泡组件
# 功能说明
聊天气泡组件,用于展示对话内容,支持以下特性:
- 自定义气泡样式和颜色
- 支持用户和机器人两种角色布局
- 自适应内容宽度
- 支持 Markdown 内容渲染
- 打字器效果集成
- 加载状态显示
- 自定义头像和布局
# 使用示例
# 基础用法
基本的气泡组件使用,展示不同位置的气泡效果。
复制代码
# 不同样式的气泡
通过 variant
和 shape
属性配置不同样式和形状的气泡。
复制代码
# 打字器效果
通过 typing
属性启用打字器效果,模拟实时输入。
复制代码
# 加载状态
通过 loading
属性显示加载状态,支持自定义加载动画。
复制代码
# Markdown 渲染
通过 isMarkdown
属性启用 Markdown 内容渲染。
复制代码
# 自定义头像和内容
使用插槽自定义气泡的头像和内容。
复制代码
# 属性
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
content | 气泡内容文本 | String | '' |
reasoning_content | 推理内容(备用内容) | String | '' |
avatar | 头像图片地址 | String | '' |
placement | 气泡位置,可选值:'start'(左侧)/'end'(右侧) | String | 'start' |
variant | 气泡样式,可选值:'filled'/'borderless'/'outlined'/'shadow' | String | 'filled' |
maxWidth | 气泡最大宽度 | String | '500px' |
avatarSize | 头像尺寸 | Number | 0 |
avatarGap | 头像与气泡间距 | String | '12px' |
avatarShape | 头像形状,可选值:'circle'/'square' | String | 'circle' |
avatarIcon | 头像图标(当没有头像图片时) | String | '' |
avatarSrcSet | 头像图片 srcset 属性 | String | '' |
avatarAlt | 头像图片 alt 属性 | String | '' |
avatarFit | 头像图片填充方式 | String | 'cover' |
noStyle | 是否移除默认样式 | Boolean | false |
typing | 打字效果配置,设为 true 使用默认值或传入对象配置: - interval: 打字间隔(ms) - step: 每次打字字符数 - suffix: 光标字符 | Boolean/Object | undefined |
loading | 是否显示加载状态 | Boolean | false |
shape | 气泡形状,可选值:''/'round'/'corner' | String | '' |
isMarkdown | 是否解析 Markdown 内容 | Boolean | false |
isFog | 是否启用雾化效果 | Boolean | false |
# 方法
方法名 | 说明 | 参数 | 返回值 |
---|---|---|---|
interrupt | 中断打字过程 | - | - |
continueTyping | 继续被中断的打字 | - | - |
restart | 重新开始打字 | - | - |
destroy | 销毁组件实例 | - | - |
# 事件
事件名 | 说明 | 回调参数 |
---|---|---|
start | 打字开始事件 | 组件实例 |
writing | 打字进行事件 | 组件实例 |
finish | 打字完成事件 | 组件实例 |
avatarError | 头像加载错误事件 | 错误对象 |
# 插槽
插槽名 | 说明 |
---|---|
avatar | 自定义头像内容 |
header | 自定义气泡头部内容 |
content | 自定义气泡主体内容 |
footer | 自定义气泡底部内容 |
loading | 自定义加载状态内容 |