所以在一个表中,我使用vue.js&显示了多个“预订” v-for .
v-for
表中的每一行都有一个表单,该表单由以下内容组成:
<tr v-for="reservation in reservations" :key="reservation.id"> <td> <form @submit.prevent="sendAnswer" method="post" > <select name="reservationResponse" id="reservationResponse" v-model="selected"> <option value="invalid">-- Select Answer --</option> <option value="confirm">Confirm</option> <option value="full">Full</option> <option value="closed">Closed</option> <option value="remove">Remove without E-Mail</option> </select> <br><br> <input type="submit" class="btn btn-blue btn-sm" value="Send answer"> </form> </td> </tr>
现在,当我按下其中一个提交按钮时,如何从我的 reservations 数组?
reservations
例如:我想发送一个post请求,更新各自预订的状态。因此,我需要所选预订的ID和选项值。
传统上,你需要申请 v-model 对你 select 这样你就可以读取数据了。在中创建变量 data() (如 reservationResponseSelection 在本例中),然后在 选择 本身添加 v-model="reservationResponseSelection" . 变量将是 reactive ,并在选择新选项时更新。然后可以在 sendAnswer 方法。
v-model
select
data()
reservationResponseSelection
选择
v-model="reservationResponseSelection"
sendAnswer
当你使用 v-for 要生成此数据,您需要为每个 选择 . 可以通过使用传递到循环中的唯一数据来完成此操作。例如,您可以使用 reservation.id (与您用于 :key )
reservation.id
:key
在你 数据() 你应该: data() { reservationOptions: {} },
数据()
data() { reservationOptions: {} },
然后在你的 选择 您可以添加: v-model="reservationOptions[reservation.id]"
v-model="reservationOptions[reservation.id]"
然后给您一个对象,其中的保留值对应于其中的每个id。