为什么即使没有进行任何更改,按Enter键时,更改事件仍会在v文本字段中激活?

时间:2018-09-09 21:33:36

标签: javascript vue.js vuetify.js

即使我没有做任何更改,为什么按Enter键时@change事件会在v-text-field中激活?

HTML

<div id="app">
  <v-app>
    <v-content>
      <v-container>
          <v-text-field
             @change="onChange"
             slot="input"
             label="Edit"
             v-model="test"
             single-line
          ></v-text-field>
      </v-container>
    </v-content>
  </v-app>
</div>

JS

new Vue({
  el: '#app',
  data: () => ({
    test: 'test'
    //
  }),
  methods: {
    onChange () {
      console.log('changed')
    }
  }
})

例如,如果我按Enter键而不进行任何更改,则onChange事件不应打印为“ changed”,因为它是相同的字符串(在此示例中为“ test”)。

例如,您可以看到这支笔:https://codepen.io/jdash99/pen/aaEYLB?editors=1111

1 个答案:

答案 0 :(得分:1)

这肯定是Vuetify中的错误,introduced in 1.1.0-alpha.0修复了另一个bug,其中 ENTER 根本没有发出change事件。现在可以在vuetifyjs/vuetify Issue #5070中跟踪此新错误。

作为一种解决方法,您必须自己在change事件处理程序中检查该值,以确定是否发生了实际更改。