javascript - 从 vuejs 中的输入获取动态值
问题描述
我在 vue 组件中有表格,其中一列在 v-for 中也输入了 tr 标签。如何一次性获取所有表值并提交?我的意思是填写所有输入并保存方法为所有输入运行一次
<table >
<thead>
<tr>
<th>NO</th>
<th>Costumer Name</th>
<th>Total Amount</th>
<th>Total Paid</th>
<th>Total Refund</th>
<th>Actual Paid</th>
<th>Balance</th>
<th>New Pay</th>
</tr>
</thead>
<tbody>
<tr v-for="(passenger , index) in passengers">
<td >{{ index+1 }}</td>
<td >{{ passenger.name_ar }}</td>
<td >{{ passenger.payment }}</td>
<td >{{ passenger.payments+' KD' }}</td>
<td >{{ passenger.returned+' KD' }}</td>
<td >{{ passenger.payment.paid }}</td>
<td >{{ passenger.payment.total_amount }}</td>
<td >
<div class="form-group">
<div class="input-group">
<input type="text" class="form-control" :ref="passenger.id">
</div>
</div>
</td>
</tr>
</tbody>
</table>
解决方案
您可以按照其他人的建议使用 v-model 来实现这一点。
//****** Add v-model to your input**********
<input type="text" class="form-control" v-model="thispassenger" :ref="passenger.id">
在您的模板中有一个将处理提交方法的按钮:
<button type="submit" @click="addPassaenger">Add Passenger</butoon>
现在你必须定义这个乘客数据对象
export default {
data() {
return { thispassenger : {} }
},
// ****** method to handle the submit
methods: {
addPassaenger() {
//put your submit logic here
// example axios.post('url', this.thispaasenger);
}
}
}
请记住,v-model 指令在表单输入、文本区域和选择元素上创建双向数据绑定。您不能在任何其他元素上使用它。
如果您想了解有关 v-model 的更多信息,请访问此链接。表单输入绑定
推荐阅读
- algorithm - (end-start+1)*懒惰[treeIndex]?
- c++ - 在 TensorRT 中切换优化配置文件:bindingIndex 0 不在配置文件 1 中
- java - Java 到 SlackAPI 消息格式错误
- sql - 基于给定属性值的 SELECT 查询
- c++ - 在vscode上调试c程序,启动:程序'.../.../.../coding'不存在
- javascript - 将前导符号添加到输入字段
- mysql - 如何在 Gorm 中保留连接子查询计数
- angular-material - Angular Material 文本区域内边框
- flutter - macos el capitan 上的 Flutter 安装问题
- python - 在两个 GPS 坐标之间有一条路线