Merge pull request #831 from SuanmoSuanyangTechnology/feature/ui_upgrade_zy

fix(web): prompt input add composition
This commit is contained in:
yingzhao
2026-04-08 21:29:28 +08:00
committed by GitHub
2 changed files with 8 additions and 2 deletions

View File

@@ -185,6 +185,7 @@ const AiPromptModal = forwardRef<AiPromptModalRef, AiPromptModalProps>(({
handleOpen, handleOpen,
})); }));
const [isFocus, setIsFocus] = useState(false) const [isFocus, setIsFocus] = useState(false)
const [isComposing, setIsComposing] = useState(false)
const handleFocus = () => { const handleFocus = () => {
setIsFocus(true) setIsFocus(true)
} }
@@ -236,7 +237,9 @@ const AiPromptModal = forwardRef<AiPromptModalRef, AiPromptModalProps>(({
<Form.Item name="message" className="rb:flex-1 rb:mb-0!"> <Form.Item name="message" className="rb:flex-1 rb:mb-0!">
<Input <Input
placeholder={t(`${source}.promptChatPlaceholder`)} placeholder={t(`${source}.promptChatPlaceholder`)}
onPressEnter={handleSend} onCompositionStart={() => setIsComposing(true)}
onCompositionEnd={() => setIsComposing(false)}
onKeyDown={(e) => { if (e.key === 'Enter' && !isComposing) handleSend() }}
variant="borderless" variant="borderless"
className="rb:p-0!" className="rb:p-0!"
onFocus={handleFocus} onFocus={handleFocus}

View File

@@ -169,6 +169,7 @@ const Prompt: FC = () => {
updateSession() updateSession()
} }
const [isFocus, setIsFocus] = useState(false) const [isFocus, setIsFocus] = useState(false)
const [isComposing, setIsComposing] = useState(false)
const handleFocus = () => { const handleFocus = () => {
setIsFocus(true) setIsFocus(true)
} }
@@ -209,7 +210,9 @@ const Prompt: FC = () => {
<Form.Item name="message" className="rb:flex-1 rb:mb-0!"> <Form.Item name="message" className="rb:flex-1 rb:mb-0!">
<Input <Input
placeholder={t(`prompt.promptChatPlaceholder`)} placeholder={t(`prompt.promptChatPlaceholder`)}
onPressEnter={handleSend} onCompositionStart={() => setIsComposing(true)}
onCompositionEnd={() => setIsComposing(false)}
onKeyDown={(e) => { if (e.key === 'Enter' && !isComposing) handleSend() }}
variant="borderless" variant="borderless"
className="rb:p-0!" className="rb:p-0!"
onFocus={handleFocus} onFocus={handleFocus}