我从后端获得了一个名为response
的多维数组,我尝试做的是创建几个文本字段,具体取决于我在响应中的元素数量(每个响应元素)有一些内部元素,如response [0] [0]和response [0] [1],每个元素都是一个对象,包含每个文本字段的标题,名称等。例如response[0][0].name
获取响应名称[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的新手,任何帮助都会很感激...... 请评论如果不清楚。
答案 0 :(得分:0)
应该有效...你能澄清问题是什么吗?是生成响应数组的问题?
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>