我有一个动态输入字段,可以根据需要添加和删除。但是,当我尝试将v模型的数组值获取到对象时,它会显示未定义的值。我无法在脚本部分的模板中获取v-model的数组值。
模板代码
<div v-for="(record, index) in records" :key="record.name">
<b-card style="margin-top:18px;">
<span @click="remove(index)" v-if="index != 0">
<strong>
<b class="text-danger float-right">X</b>
</strong>
</span>
<br />
<b-form-group
label-cols="12"
label-cols-lg="3"
label-for="input-1"
label="Name: "
label-align-sm="right"
label-align="left"
>
<b-form-input
id="input-1"
v-model="record.name"
type="text"
></b-form-input>
</b-form-group>
<b-form-group
label-cols="12"
label-cols-lg="3"
label-for="input-2"
label="Order: "
label-align-sm="right"
label-align="left"
>
<b-form-input
id="input-2"
v-model="record.order"
type="text"
></b-form-input>
</b-form-group>
</b-card>
<div>
<span @click="add">
<strong>
<b class="text-success float-right">+</b>
</strong>
</span>
</div>
</div>
脚本代码
<script>
export default {
data: () => ({
update: false,
records: [
{
name: "",
order: ""
}
]
}),
methods: {
save(evt) {
evt.preventDefault();
var object = {
name: this.records.name,
order: this.records.order
};
console.log(object);
},
add() {
this.records.push({
name: "",
order: ""
});
},
remove(index) {
this.records.splice(index, 1);
}
}
};
</script>
我已经尝试在console.log中查看是否显示了数据,但是它会响应未定义的值。
答案 0 :(得分:0)
您需要索引记录数组。
var object = {
name: this.records[someIndex].name,
order: this.records[someIndex].order
};