【问题标题】:Vue : Store dynamic number of inputs in an dynamic two dimensional arrayVue:将动态输入数量存储在动态二维数组中
【发布时间】:2017-11-18 15:31:58
【问题描述】:

我从后端得到一个名为response 的多维数组,我想做的是根据我响应的元素数量创建几个文本字段(每个响应元素都有一些内部元素像 response[0][0] 和 response[0][1] ,它们每个都是一个对象,每个文本字段都包含标题、名称等。例如response[0][0].name get name of response[0][0]元素)。 我想要的是将这些文本字段绑定到另一个名为data 的二维数组,这样我就可以获得它们的值并根据需要使用它们。 代码如下:

 <v-layout  row wrap v-for="(row,i) in response" :key = "i">
      <v-layout  v-for="(col,j) in row" :key = "j">
         <v-text-field
          :name = "col.name"
          :label = "col.caption"
          v-model="data[i][j]"//I think somehow i should create data[i][j] element 
                               first,like data[i] =[] 
          >
         </v-text-field>
      </v-layout>
  </v-layout>

脚本是:

data () {
 return {
  data: [],
  response: []
 }
},
 mounted: function () {
   //get response from back-end
 }

我是 Vue 和 javascript 的新手,任何帮助将不胜感激... 如果不清楚,请发表评论。

【问题讨论】:

  • 你能展示一个响应对象的样本吗?
  • 每个 response[i][j] 是一个对象,应该有一个对应的文本字段。例如 response[0][0] 是一个包含两个字段的对象。 response[0][0].name 用于文本字段的名称, response[0][0].caption 用于文本字段(标题)的标题。所以 response[0][0] 是 {"name","caption"}@SeifSayed

标签: javascript multidimensional-array vue.js vuejs2 vuetify.js


【解决方案1】:

应该工作......你能澄清问题是什么吗?生成响应数组是否重要?

new Vue({
  el: '#app',
  data: {
    data: [
      [{
          name: 'name00',
          caption: 'caption00'
        },
        {
          name: 'name01',
          caption: 'caption01'
        }
      ],
      [{
          name: 'name10',
          caption: 'caption10'
        },
        {
          name: 'name11',
          caption: 'caption11'
        }
      ]
    ],
    response: [
      ['',''],
      ['','']
    ]
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.5/vue.min.js"></script>
<div id="app">
  <div v-for="(i, ii) in data" :key="ii">
    <div v-for="(j, jj) in i" :key="jj">
      {{j.name}}
      
      <input v-model="response[ii][jj]" />
    </div>
  </div>
  <pre>{{response}}</pre>
</div>

【讨论】:

  • 实际上响应数组对象作为表单字段的元数据。并且表单中有很多字段,因此响应中有很多对象(不仅仅是两个对象)。每个对象都包含一个字段的元数据,包括名称、标题、...所以首先我需要根据从响应中获取的元数据生成这些字段。然后我必须将每个文本字段的值绑定到一个数据数组。我不知道响应的大小,我从后端得到它。所以我不知道有多少场。然后我必须动态地制作数据数组。我无法初始化它,就像你做的那样。
  • 您能否提供一个包含更多数据的半工作版本,以便更好地了解发生了什么?
猜你喜欢
  • 2012-02-02
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多