v-for中的Vue.js数组输入

时间:2018-08-04 10:11:23

标签: vue.js v-for v-model

我有一个关于人的信息的简单表格。我有一个人数统计,例如3。我需要像这样发送json:

{
  persons[0].surname: '',
  persons[0].name: '',
  persons[0].something'',
  persons[1].surname: '',
  persons[1].name: '',
  persons[1].something'',
  persons[2].surname: '',
  persons[2].name: '',
  persons[2].something'',
}

我已经这样设置了表格

 <template v-for="(person, person_index) in people">
<input type="text" placeholder="surname">
<input type="text" placeholder="name">
<input type="text" placeholder="something">
</template>

和我的数据:

data() {
    return {
        persons: [],
        people: 3
},

methods: { 
    save(){
        console.log(this.persons);
    } 
}

1 个答案:

答案 0 :(得分:0)

如果我正确理解了您的要求,那么可以使用输入元素的值更新persons对象。

Vue中,这是使用Vue.set(object, key, value) method完成的。在代码中:

methods: { 
    save: function (){
        this.$set(this.persons, index, value); //for Vue 2.x
        console.log(this.persons);
    } 
}

methods: { 
    save: function (){
        Vue.set(this.persons, index, value) //for Vue 1.x
        console.log(this.persons);
    } 
}

其中索引和值对应于您的input元素。只要确保还要在输入元素中添加这些属性即可。