如何为每次迭代分配 v-model

Sym*_*Web 2 vue.js vue-component vuejs2 vuetify.js

我有一个 API 抛出的对象错误(流明)

{
"title":["The title field is required."],
"body":["The body field is required."],
"days_after":["The days after field is required."]
}
Run Code Online (Sandbox Code Playgroud)

然后我将此错误分配给mess变量,我尝试使用此代码将每个错误输出为单独的警报

<v-alert v-for="me in mess" v-if="mess" error dismissible v-model="mess">
    {{me[0]}}
</v-alert>
Run Code Online (Sandbox Code Playgroud)

但是,当我关闭 1 个错误时,所有错误都被关闭/删除

Roy*_*y J 5

donMateo有一个很好的解决方案,但是如果您的意图是消除消息会从错误对象中清除消息,那么您实际上可以这样做(有点)。您只需要v-model单个行,而不是整个mess对象。(另外,你不能v-model使用别名,所以它不能是v-model="me"。)

new Vue({
  el: '#app',
  data() {
    return {
      mess: {
        "title": ["The title field is required."],
        "body": ["The body field is required."],
        "days_after": ["The days after field is required."]
      }
    }
  }
});
Run Code Online (Sandbox Code Playgroud)
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.5.0/vue.min.js"></script>
<script src="//unpkg.com/vuetify@0.17.6/dist/vuetify.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Material+Icons" rel="stylesheet" />
<link href="//unpkg.com/vuetify@0.17.6/dist/vuetify.min.css" rel="stylesheet" />
<div id="app">
  <v-app>
    <div>
      <v-alert v-for="me, index in mess" color="info" icon="info" dismissible v-model="mess[index]">
        {{me[0]}}
      </v-alert>
      {{JSON.stringify(mess)}}
    </div>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)