最近項目需要im線上聊天功能,消息發送enter鍵,換行ctrl+enter,找了很多資料才解決,解決問題的小夥伴可以點個贊,感謝感謝:
直接看代碼;
<el-input
@keydown.enter.native="keyDown"
type="textarea"
:rows="4"
class="text-input"
placeholder="請輸入内容"
v-model="textarea">
</el-input>
我用的element元件,這個不影響,隻要是vue項目都這些寫;
@keydown.enter.native=“keyDown”
如果上面方法不行可以把native去掉試試
@keydown.enter=“keyDown”
然後在js裡面注冊這個方法:
keyDown(e) {
if(e.ctrlKey && e.keyCode==13) { //使用者點選了ctrl+enter觸發
this.textarea += '\n';
}else { //使用者點選了enter觸發
this.sendMessage();
}
},