注意input标签不能实现,需要用textarea标签
直接看代码
<template>
<textarea
v-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可以实现换行输入