Задать вопрос

Как сделать в textarea чтобы при нажатии ctrl + enter перенос на новую строку, enter отправка сообщения во vue?

Суть проблемы вот в чем, при нажати на ентер он переносит по умолчанию ставит перенос строки потом выполняет какие то действия, мне нужно блокировать дефолтный перенос.
Вот пример кода:
<textarea
      type="text"
      v-model="text"
      @keyup.enter.prevent="sendMessage"
      @keyup.ctrl.enter.prevent="newLine"
    ></textarea>


data() {
    return {
        text: ""
    }
},
methods: {
    sendMessage() {
      this.$emit("keyupCtrlEnter");
    },
    newLine(e) {
      let caret = e.target.selectionStart;
      e.target.setRangeText("\n", caret, caret, "end");
      this.text = e.target.value;
    }
  }
}
  • Вопрос задан
  • 2195 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Замените

@keyup.enter.prevent

на

@keydown.enter.prevent.exact
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы