对话输入区
@astryxdesign/core v0.7.1 · ChatComposer
属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
v-model | string | — | 草稿内容。用 v-model 绑上,输入区就完全按这个字符串显示;不绑,它自己存。 |
placeholder | string | 本地化的“Type a message…” | 草稿为空时显示的提示文字。 |
isDisabled | boolean | false | 不能编辑也不能发送。这时候停止按钮还能按,用户仍然可以取消回答。 |
density | ChatComposerDensity | 'balanced' | 输入区内部的疏密:compact、balanced、spacious。 |
elevation | 'none' | 'low' | 'low' | low 是抬起的,悬停和聚焦时阴影更深。none 是平的,改成画一条边框。两种情况键盘聚焦到输入框都会有聚焦环,鼠标点进去没有。 |
isStopShown | boolean | false | 把发送换成停止。助手还在往外吐字的时候打开它。 |
status | ChatComposerStatus | — | 提示对象,{ type: 'error' | 'warning', message }。error 会作为警报播报,warning 作为状态播报。 |
statusPosition | 'top' | 'bottom' | 'bottom' | 提示放在输入区上面还是下面。 |
事件
| 事件 | 参数 | 说明 |
|---|---|---|
submit | string | 提交了一份去掉首尾空白、且不为空的草稿。提交完草稿会被清空。 |
stop | — | 按了停止。 |
change | string | 草稿变了,也包括提交成功后的清空。 |
update:modelValue | string | 输入区希望你写回的草稿。v-model 绑的就是它。 |
插槽
| 插槽 | 说明 |
|---|---|
drawer | 输入区上方的可折叠内容,一般放 ChatComposerDrawer。 |
headerActions | 页眉靠开头那一侧。放小号的纯图标按钮正好跟这一行对齐。 |
headerContext | 页眉靠末尾那一侧。放用量表这类上下文信息。 |
input | 换掉默认的标签输入框。草稿从 useChatComposerContext 里读。 |
footerActions | 页脚靠开头那一侧。中号按钮跟发送按钮对得上。 |
sendActions | 紧挨在发送按钮前面,例如放一个麦克风或语音输入按钮。 |
sendButton | 换掉默认的发送和停止按钮。 |
暴露
| 名称 | 类型 | 说明 |
|---|---|---|
element | HTMLElement | null | 最外层那块框,用来量尺寸或滚动。 |