繁体   English   中英

更改 v-model 的值并更新 v-text-field

[英]Change value of v-model and update v-text-field

我做了一个小提琴,我试图通过代码更改数组的一个值,同时它被用作来自 Vuetify 的v-text-field的 v- v-model

问题是,当我在文本字段中写一些东西时,它确实会立即正确更改值,所以我制作了一个按钮,在该特定索引中设置数组的值,它似乎不起作用,所以我制作了另一个按钮打印它,它确实有效。

第一个按钮将值更改为 0,但在v-text-field它仍然具有最后输入的值。

按下“重置”按钮时如何更改v-text-field的值?

 new Vue({ el: '#app', data() { return { model: [1, 2] } }, methods: { restart() { this.model[0] = 0 }, showInConsole() { console.log("Current value:", this.model[0]) } } })
 <!DOCTYPE html> <html> <head> <link href='https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons' rel="stylesheet"> <link href="https://unpkg.com/vuetify/dist/vuetify.min.css" rel="stylesheet"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> </head> <body> <div id="app"> <v-layout row wrap> <v-flex xs4> <div class="headline">Change value of model[0]</div> <div class="headline text-xs-center">{{model[0]}}</div> </v-flex> <v-flex xs8> <v-text-field solo v-model="model[0]"></v-text-field> </v-flex> <v-flex xs12> <v-btn @click="restart ()">Reset to 0</v-btn> <v-btn @click="showInConsole ()">Show in console current value</v-btn> </v-flex> </v-layout> </div> <script src="https://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vuetify/dist/vuetify.js"></script> </body> </html>

链接到我的小提琴

这是Vue 反应性问题

基本上,当您直接设置带有索引的项目时,Vue 无法检测到对数组的更改

你应该使用Vue.$set

restart () {
  this.$set(this.model, 0, 0)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM