Composer

提示词输入框:随内容增高,之后滚动;回复流式输出时,发送按钮变为停止。

查看源码
import { Composer } from "@logicplanes/kaeso-ui/playground";

属性

  • actions
    ReactNode

    按钮行开头的控件:参数、清空。

  • aria-label
    string

    文本框的无障碍名称(默认为“提示词”)。

  • autoFocus
    boolean

    出现时让输入区获得焦点。

  • clearOnSubmit
    boolean = true

    发送后清空非受控的输入框(默认开启)。

  • defaultValue
    string

    首次渲染时的消息。

  • disabled
    boolean = false

    将其禁用:无法使用,并显示为变暗。

  • loading
    boolean = false

    提示词正在发送:发送按钮显示加载指示。

  • maxRows
    number = 10

    文本框开始滚动前的行数(默认 10)。

  • name
    string

    在表单中提交值时使用的字段名。

  • onStop
    (() => void)

    停止:streaming 时显示的按钮。

  • onSubmit
    ((value: string) => void)

    发送:点击发送按钮、在文本框中按 Enter(见 submitOn)或 ⌘ Enter(Ctrl Enter)。提示词为空或只有空格、处于禁用、发送中或流式输出中,以及输入法正在组字时不会调用。

  • onValueChange
    ((value: string) => void)

    输入时调用,并传入消息。

  • placeholder
    string

    没有值时显示的文字。

  • size
    "md" | "sm" = md

    输入区的高度。

  • stopLabel
    string

    停止按钮的无障碍名称,在回复流式输出时显示。

  • streaming
    boolean = false

    回复正在输出:发送按钮变为停止。文本框仍可编辑,以便输入下一条提示词。

  • submitLabel
    string

    发送按钮的无障碍名称。

  • submitOn
    "enter" | "mod-enter" = enter

    在文本框中发送的按键。"enter"(默认):Enter 发送,Shift Enter 换行;在触摸屏上 Enter 换行,由发送按钮发送。"mod-enter":Enter 换行,只有 ⌘ Enter(Ctrl Enter)发送。两种模式下 ⌘ Enter 和 Ctrl Enter 都会发送。

  • value
    string

    受控时正在撰写的消息。