首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组推送中的Vue - Array推送

数组推送中的Vue - Array推送
EN

Stack Overflow用户
提问于 2020-02-10 02:45:34
回答 1查看 334关注 0票数 1

我试图为每个rows数组推送添加不同的genres。问题是,所有的rows都是为每个genre同时添加的,如果我输入文本,它将反映在所有rows中。如何分离每个rows的实体

这是我的密码。

模板

代码语言:javascript
复制
<table class="table">
  <v-btn @click="addGenre()">Add Genre</v-btn>

  <tbody>
    <tr v-for="genre in genres" :key="genre.id">
     <td>

       <v-select/>
       <v-btn @click="addRow()">Add Row</v-btn> // add row for each genre added

       <tr v-for="(row, index) in rows" :key="row.id">
         <td><v-textarea/></td>
       </tr>

     </td>
    </tr>  
  </tbody>
</table>

export default {
  data: ()=> ({
    genres: [],
    rows: [],
  }),

methods: {
  addGenre () {
    this.genres.push({
     genre: '',
    });
  },

  addRow () {
    this.rows.push({
      row: '',
    });
  },
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-10 02:53:02

如果我理解您的问题,我认为您应该将行存储在体裁对象中。

代码语言:javascript
复制
<tr v-for="(genre, genreIndex) in genres" :key="genre.id">
     <td>
       <v-select/>
       <v-btn @click="addRow(genreIndex)">Add Row</v-btn> // add row for each genre added
       <tr v-for="(row, index) in genre.rows" :key="row.id">
         <td><v-textarea v-model="row.row"/></td>
       </tr>
     </td>
</tr>  
代码语言:javascript
复制
  data: ()=> ({
    genres: [],
  }),
代码语言:javascript
复制
methods: {
  addGenre () {
    this.genres.push({
     genre: '',
     rows: [],
    });
  },

  addRow (genreIndex) {
    this.genres[genreIndex].rows.push({
      row: '',
    });
  },
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60143482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档