vue vite textarea标签按下Shift+Enter 换行输入,只按Enter则提交的实现思路
注意input标签不能实现,需要用textarea标签
直接看代码
<template><textareav-model="message"@keydown.enter="handleEnter"placeholder="Shift+Enter 换行,Enter 提交"></textarea>
</template><script setup>
import { ref } from 'vue';const message = ref('');const handleEnter = (e) => {// 如果按下的是 Shift+Enter,允许默认换行行为if (e.shiftKey) {return;}// 单独按下 Enter 键e.preventDefault();// 处理其他逻辑,最后并将message清空message.value = ''; // 清空输入框
};
</script>
最终的效果如下:
同时按下shift+enter可以实现换行输入