Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()上_Vue.js_Vuetify.js_V Model - Fatal编程技术网

Vue.js Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()上

Vue.js Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()上,vue.js,vuetify.js,v-model,Vue.js,Vuetify.js,V Model,Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()和使用$set时 我尝试在没有$forceUpdate和$set的情况下使用它,但即使使用这两种方法,它也不起作用 示例在没有vuetify的情况下做什么工作: 与Vuetify不起作用的示例: 这两个示例都可以使用javascript new Vue({ el: "#app", data: () => ({ todos: [''] }), methods: {

Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()和使用$set时

我尝试在没有$forceUpdate和$set的情况下使用它,但即使使用这两种方法,它也不起作用

示例在没有vuetify的情况下做什么工作

Vuetify不起作用的示例:

这两个示例都可以使用javascript

new Vue({
  el: "#app",
  data: () => ({
    todos: ['']
  }),
  methods: {
    setText(index, todo){
        if (todo.toString().match(/^((([A-Z]{3})[UJZ](\d{0,7}))|[A-Z]{0,3})$/)) {
        this.$set(this.todos, index, todo)
      }

      this.$forceUpdate()
    },
    addText() {
        console.log(this.todos)
            this.todos.push('')
    }
  }
})
我希望在vuetify和不使用vuetify的情况下都能使用完全相同的实现。不幸的是,情况并非如此。只有非vuetify示例有效

有效值或todo的示例为
AAAU0101201


无效值的一个例子是
AAAA
我无法解释为什么使用Vuetify或不使用Vuetify时结果不一样,但事实上,使用Vuetify示例,如果输入错误的值,则不会修改todos数组,因此不会更新模型

例如,我认为您应该处理
@blur
事件:

我无法解释为什么使用Vuetify或不使用Vuetify时结果不一样,但事实上,以Vuetify为例,如果输入了错误的值,则不会修改todos数组,因此不会更新模型

例如,我认为您应该处理
@blur
事件:

不会修改数组,但文本字段不会反映这一点。这对用户非常不友好。在您显示的示例中,如果用户输入错误,则输入将被清除。这可能会非常混乱。这种混乱是在您创建一个并不总是更新数据的@input处理程序时产生的。如果你不知道自己在做什么,我建议你坚持使用v-model.tal尽管这有点离题,你能详细说明输入事件应该做什么吗?我不认为v-model在我的情况下不起作用,因为我需要在更改值的同时进行验证。当todo不正确时,您希望何时清除该字段。我想它不在输入上,因为如果这样做,字段将在第一次按下键后清除。这就是为什么我认为你需要处理@blur。我的解决方案不是你想要的吗?数组不会被修改,但文本字段不会反映这一点。这对用户非常不友好。在您显示的示例中,如果用户输入错误,则输入将被清除。这可能会非常混乱。这种混乱是在您创建一个并不总是更新数据的@input处理程序时产生的。如果你不知道自己在做什么,我建议你坚持使用v-model.tal尽管这有点离题,你能详细说明输入事件应该做什么吗?我不认为v-model在我的情况下不起作用,因为我需要在更改值的同时进行验证。当todo不正确时,您希望何时清除该字段。我想它不在输入上,因为如果这样做,字段将在第一次按下键后清除。这就是为什么我认为你需要处理@blur。我的解决方案不正是你想要的吗?