Reactjs React Js:在文本区域中防止换行或按enter键提交
代码:Reactjs React Js:在文本区域中防止换行或按enter键提交,reactjs,Reactjs,代码: const Chat=props=>{ const dispatch=usedpatch(); const messages=useSelector(state=>state.Chat); const[text,setText]=React.useState(“”); 返回( 聊天机器人 {/* 德萨萨萨 */} {messages.map(message=>( {message.text} ))} setText(e.target.value)} 占位符=“Digite aqui s
const Chat=props=>{
const dispatch=usedpatch();
const messages=useSelector(state=>state.Chat);
const[text,setText]=React.useState(“”);
返回(
聊天机器人
{/*
德萨萨萨
*/}
{messages.map(message=>(
{message.text}
))}
setText(e.target.value)}
占位符=“Digite aqui sua mensagem”
/>
发送(发送消息(文本))}>
);
};
您好,我不知道我怎么才能不让我的文本区域出现换行,并在按下按钮时将其清理干净
当我的点击事件被调用时,请清除文本区域字段,只需防止默认的输入,如下所示:
{
如果(e.key=='Enter')
e、 预防默认值()
}}
/>
阻止回车键按此键不在react jsi中,我尝试使用此键但未成功..我是否可以使用相同的代码而不是断线将代码发送到我的存储?我有此功能用于发送到我的减速机:const handleClick=()=>{dispatch(sendmages(text));setText('';};当然可以,(我更喜欢按ctrl键发送,因为用户可能希望发送多行消息)只需控制您的组件,并从状态发送当前值以检查crtl,等等使用:e.ctrlKey
const Chat = props => {
const dispatch = useDispatch();
const messages = useSelector(state => state.Chat);
const [text, setText] = React.useState('');
return (
<Styled.ChatBox>
<Styled.ChatHeader>
<p>Chat Bot</p>
<div>
<FontAwesomeIcon icon={faAngleDown} size="1x" color="white" />
<FontAwesomeIcon icon={faTimes} size="1x" color="white" />
</div>
</Styled.ChatHeader>
<Styled.ChatLog>
{/* <Styled.MessageWrapper bot={true}>
<Styled.BotImg src={BotLogo} bot={true} />
<Styled.ChatMessage bot={true}>
dsasasasasasasasasasa
</Styled.ChatMessage>
</Styled.MessageWrapper> */}
{messages.map(message => (
<Styled.MessageWrapper bot={true}>
<Styled.BotImg src={BotLogo} bot={false} />
<Styled.ChatMessage bot={true}>{message.text}</Styled.ChatMessage>
</Styled.MessageWrapper>
))}
</Styled.ChatLog>
<Styled.ChatInput>
<textarea
value={text}
onChange={e => setText(e.target.value)}
placeholder="Digite aqui sua mensagem"
/>
<button onClick={() => dispatch(sendMessage(text))}>
<FontAwesomeIcon icon={faPaperPlane} size="lg" color="black" />
</button>
</Styled.ChatInput>
</Styled.ChatBox>
);
};