vue.js - Vuetify v-text-field 在更改时不更新值。即使在 $forceUpdate()
问题描述
Vuetify v-text-field 在更改时不更新值。即使在 $forceUpdate() 和使用 $set 时
我尝试在没有 $forceUpdate 和 $set 的情况下使用它,但即使使用这两种方法它也不起作用
没有vuetify的例子: https : //jsfiddle.net/gu273qy0/3/
不适用于Vuetify的示例: 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。不幸的是,这种情况并非如此。只有非 vuetify 示例有效。
一个有效值或 todo 的例子是AAAU0101201
.
无效值的示例是AAAA
解决方案
我无法真正解释为什么使用或不使用 Vuetify 的结果不一样,但实际上,以 Vuetify 为例,如果输入错误的值,则不会修改 todos 数组,因此不会更新模型
我认为您应该例如处理@blur
事件:
https ://jsfiddle.net/v6m2tyrs/1/
推荐阅读
- python-3.x - 如何在带有 utf-8 十六进制字符的字符串中转换带有 unicode 字符的字符串?
- asp.net-core - IIS 重新启动站点后,Asp.net Core 进程未关闭
- sql-server - SQL-SERVER-获取表之间的关系
- c++ - 使用标准库自定义构建 cmake 也适用于 gcc 版本较低的项目
- mysql - 将数据从 mysql 获取到 Apache Spark (scala) 时出错
- cryptography - 椭圆曲线中带负数的标量乘法
- r - 如何向 plotly 添加第三个值,以便在 ggplotly 上显示行/观察 ID 变量
- amazon-web-services - aws lambda 在 s3 上写入文件 - javascript
- java - Grafana 正则表达式
- php - 有没有办法将类内部的变量传递给php外部的函数?