问题描述
当前输入框使用 <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 的显示特征。
问题描述
当前输入框使用
<input type="text">实现,按 Enter 键会直接发送消息,无法输入多行文本。期望行为
当前实现
文件:
packages/chatkit-ui/src/components/chat.tsx:1008-1020外层包裹了
<form onSubmit={handleSubmit}>,Enter 键触发表单提交。建议方案
将
<input type="text">替换为<textarea>,并处理 keyDown 事件:需要调整样式以适应 textarea 的显示特征。