Skip to content

输入框不支持换行:回车直接发送消息 #35

@ponyfly6

Description

@ponyfly6

问题描述

当前输入框使用 <input type="text"> 实现,按 Enter 键会直接发送消息,无法输入多行文本。

期望行为

  • Enter(无修饰键):发送消息
  • Shift+Enter:插入换行,允许输入多行文本

当前实现

文件:packages/chatkit-ui/src/components/chat.tsx:1008-1020

<input
  type="text"
  value={draft}
  onChange={(event) => setDraft(event.target.value)}
  placeholder={inputPlaceholder}
  ...
/>

外层包裹了 <form onSubmit={handleSubmit}>,Enter 键触发表单提交。

建议方案

<input type="text"> 替换为 <textarea>,并处理 keyDown 事件:

  • 默认 Enter 发送消息
  • Shift+Enter 插入换行

需要调整样式以适应 textarea 的显示特征。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions