Vue.js - 如何使用 Enter 键提交表单?

Joz*_*ata 10 html vue.js vuejs2 quasar-framework

输入如此简单

<input ref="input" class="terminal-input" autofocus
  v-model="message" type="submit" @submit.prevent="printToConsole"/>
Run Code Online (Sandbox Code Playgroud)

添加后type="submit"我无法再输入内容。它只是变成了一个按钮!所以我找到了一个解决方案,只需制作一个表单,添加一个按钮(使其提交)并隐藏该按钮。

 <form>
      <input ref="input" class="terminal-input" autofocus v-model="message"/> 
      <q-btn type="submit" @click="printToConsole" v-show="false"/>
 </form>
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式做到这一点,但只需要输入吗?(所以没有隐藏按钮的东西)

Bou*_*him 9

应将事件@submit添加到表单元素:

 <form  @submit.prevent="printToConsole">
      <input ref="input" class="terminal-input" autofocus v-model="message"/> 
      
 </form>
Run Code Online (Sandbox Code Playgroud)

 <form  @submit.prevent="printToConsole">
      <input ref="input" class="terminal-input" autofocus v-model="message"/> 
      
 </form>
Run Code Online (Sandbox Code Playgroud)
Vue.config.devtools = false;
Vue.config.productionTip = false;

new Vue({
  el: '#app',

  data() {
    return {
      message: ''
    }
  },
  methods: {

    printToConsole() {
      console.log(this.message)
    }
  }
})
Run Code Online (Sandbox Code Playgroud)