Skip to content

Bubble 对话气泡

用于聊天的气泡组件。

何时使用

常用于聊天的时候。

代码演示

基本

基础用法。

hello world!
查看源代码

支持位置和头像

通过 avatar 设置自定义头像,通过 placement 设置位置,提供了 startend 两个选项。

你好!
你也好!
查看源代码

头和尾

通过 headerfooter 属性设置气泡的头部和底部。

我是头部
你好!
查看源代码

加载中

通过 loading 属性控制加载状态。

loding state:
查看源代码

打字效果

通过设置 typing 属性,开启打字效果。更新 content 如果是之前的子集,则会继续输出,否则会重新输出。

h
h👋
查看源代码

自定义渲染内容

通过传入 content 插槽自定义渲染内容。

ArtChat
查看源代码

自定义渲染

配合 markdown-it 实现自定义渲染内容。

查看源代码

变体

通过 variant 属性设置气泡的样式变体。

variant: filled
variant: outlined
variant: shadow
variant: borderless
查看源代码

形状

通过 shape 属性设置气泡的形状。

shape: default
This is a long text message to show the multiline view of the bubble component. This is a long text message to show the multiline view of the bubble component. This is a long text message to show the multiline view of the bubble component.
shape: round
This is a long text message to show the multiline view of the bubble component. This is a long text message to show the multiline view of the bubble component. This is a long text message to show the multiline view of the bubble component.
shape: corner
This is a long text message to show the multiline view of the bubble component. This is a long text message to show the multiline view of the bubble component. This is a long text message to show the multiline view of the bubble component.
查看源代码

气泡列表

预设样式的气泡列表,支持自动滚动。使用 roles 设置气泡默认属性。

Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
M
查看源代码

语义化自定义

示例通过语义化以及加载定制,来调整气泡效果。

M
Mock user content.
Custom loading...
查看源代码

自定义列表内容

自定义气泡列表内容,这对于个性化定制场景非常有用。

Normal message

ArtChat

Vue Node

How to rest effectively after long hours of work?

What are the secrets to maintaining a positive mindset?

How to stay calm under immense pressure?

excel-file
.xlsx
Checking the data
word-file
.docx
23%
查看源代码

选择消息

使用 leading 插槽配合 ElCheckbox 进行消息选择。

Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content. Mock AI content.
Mock user content.
M
已选中:
查看源代码

Bubble

属性说明类型默认值版本
avatar展示头像VNode | String-
classNames语义化结构 classRecord<"avatar" | "content" | "footer" | "header", string>-
content聊天内容string-
loading聊天内容加载状态boolean-
placement信息位置start | endstart
shape气泡形状round | corner-
styles语义化结构 style[Record<"avatar" | "content" | "footer" | "header", CSSProperties>]-
typing设置聊天内容打字动画boolean | { step?: number, interval?: number }false
variant气泡样式变体filled | borderless | outlined | shadowfilled
loadingRender自定义渲染加载态内容() => VNode-
messageRender自定义渲染内容(content?: string) => VNode-
onTypingComplete打字效果完成时的回调,如果没有设置 typing 将在渲染时立刻触发() => void-
onUpdate内容更新时会触发() => void--

Bubble Slots

插槽名说明参数
avatar头像info: BubbleDataType | index: number
header头部面板info: BubbleDataType | index: number
footer底部内容info: BubbleDataType | index: number
loadingloading 占位info: BubbleDataType | index: number
content自定义内容插槽info: BubbleDataType | index: number
leading自定义消息列表每条消息的前缀,如选择框info: BubbleDataType | index: number

Bubble Exposed

该组件为泛型组件,获取组件实例类型需使用 vue-component-type-helpers

属性名说明类型
nativeElement获取原生节点HTMLElement

Bubble.List

属性说明类型默认值版本
autoScroll当内容更新时,自动滚动到最新位置。如果用户滚动,则会暂停自动滚动。booleantrue
items气泡数据列表(BubbleProps & { key?: string | number, role?: string })[]-
roles设置气泡默认属性,items 中的 role 会进行自动对应Record<string, BubbleProps> | (bubble) => BubbleProps-