【发布时间】:2020-12-12 02:59:45
【问题描述】:
我有一个基于数据库数据显示多个输入的表单,我需要在提交表单时获取每个输入 value 以及它们的 id。
我发送时这个表单的最终结果应该是这样的:
array:2 [
0 => [
id => 1,
value => "123
],
1 => [
id => 5,
value => "test"
]
]
目前我得到的是这个(只有值):
array:2 [
0 => "123"
1 => "test"
]
代码
<form ref="form" :model="form" enctype="multipart/form-data">
<div class="row">
<div
class="col-md-6"
v-for="(field, index) in fields"
:key="index"
>
<input
class="form-control"
v-model="form.field[index]"
:placeholder="field.title"
/>
</div>
</div>
<vs-button
class="mt-3"
@click="onSubmit"
native-type="submit"
gradient
>
Generate
</vs-button>
</form>
data() {
return {
fields: [],
form: {
field: [],
},
};
},
methods: {
onSubmit(e) {
e.preventDefault();
axios
.post("/api/admin/documents/add/", this.form, {...} // sending "this.form"
}
有什么想法吗?
【问题讨论】:
-
id应该从哪里来?
-
fields数组就像在v-for中使用它一样 ->v-for="(field, index) in fields" -
那么为什么 id 会是 1 和 5?对于两个项目,它们肯定是 0 和 1 - 这就是数组的工作方式
-
@Bravo 你说的是
index数字不是id,我的数据id 就像field.id就像我有field.title -
哦,所以 fields 数组有一个 id ... 使用它
标签: javascript typescript vue.js vuejs2