更改v-text-field时不更新值。即使在$ forceUpdate()上以及在使用$ set
时我试图在没有$ forceUpdate和$ set的情况下使用它,但是即使同时使用这两种方法,它也无法工作
举例说明确实的作用没有的作用: https://jsfiddle.net/gu273qy0/3/
不不起作用的示例有的功能: https://jsfiddle.net/gu273qy0/5/
在两个示例中都可以使用此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都能使用完全相同的实现。不幸的是,这种情况并非如此。仅非可视化示例有效。
有效值或待办事项的示例为AAAU0101201
。
无效值的示例是AAAA
答案 0 :(得分:0)
我无法真正解释为什么使用Vuetify或不使用Vuetify都不会得到相同的结果,但是实际上,使用Vuetify示例,如果输入错误的值,则不会修改todos数组,因此该模型将不会无法更新
我认为您应该例如处理@blur
事件:
https://jsfiddle.net/v6m2tyrs/1/