Vue.js Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()上
Vuetify v-text-field在更改时不更新值。即使在$forceUpdate()和使用$set时 我尝试在没有$forceUpdate和$set的情况下使用它,但即使使用这两种方法,它也不起作用 示例在没有vuetify的情况下做什么工作: 与Vuetify不起作用的示例: 这两个示例都可以使用javascriptVue.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: {
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。我的解决方案不正是你想要的吗?