首页 > 解决方案 > v-for循环Vue中的动态V模型名称

问题描述

我正在开发一个应用程序,我正在使用 Vue 和 laravel ,在一个 v-for 循环中我需要在循环中将 error.id 绑定到元素的 v-model 名称,这是我的代码:

 <tbody class="bodycol">
 <tr v-for="error in errors.error" :key="error.id" >

  <td>{{ error.client }}</td>
  <td>{{ error.session }}</td>
  <td>{{ error.info_session }}</td>
  <td>{{ error.UPROC }}</td>
  <td>{{ error.num_session }}</td>
  <td>{{ error.num_exec }}</td>
  <td>{{ error.date_debut }}</td>
  <td>{{ error.heure_debut }}</td>
  <td>{{ error.date_fin }}</td>
  <td>{{ error.heure_fin }}</td>
    <td>{{ error.status }}
    <form @submit="addComment(error.id)" >
    <div class="form-group">
      <input v-model="form.comment[error.id]" type="text" name="comment"
                  class="form-control area" :class="{ 'is-invalid': form.errors.has('comment') }" 
      required>
                  <has-error :form="form" field="comment"></has-error>
      </div>
        </form>
    </td>
</tr>

   data(){
  return{
   comment:[],
    }
     }

问题是errors.status的输出是:

[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"the comment is here"]

标签: laravelvue.jsvuejs2

解决方案


将您的数据更改为此。你引用的form.comment不是comment

export default {
    data() {
        return {
            form: {
                comment: []
            }
        }
    }
}

推荐阅读