Vue.js Vuejs:多次添加同一表单
我用的是laravel和vuejs 我希望能够做到的一件事是,允许用户在单击按钮时创建多个地址 下面是示例代码:Vue.js Vuejs:多次添加同一表单,vue.js,Vue.js,我用的是laravel和vuejs 我希望能够做到的一件事是,允许用户在单击按钮时创建多个地址 下面是示例代码: <table> <tr> <th>POSTAL CODE</th> <td><input type="text" name="postal_code[]" v-model="" /></td> </tr> <tr>
<table>
<tr>
<th>POSTAL CODE</th>
<td><input type="text" name="postal_code[]" v-model="" /></td>
</tr>
<tr>
<th>City</th>
<td>
<select name="city[]" v-model="">
<option>ABC</option>
</select>
</td>
</tr>
<tr>
<th>District</th>
<td><input type="text" name="District[]" v-model="" /></td>
</tr>
<tr>
<th>Street</th>
<td><input type="text" name="Street[]" v-model="" /></td>
</tr>
<tr>
<th>Name/th>
<td>
last_name<input type="text" name="last_name[]" v-model="" />
first_name<input type="text" name="first_name[]" v-model="" />
</td>
</tr>
</table>
<button v-on:click="add-form">ADD</button>
邮政编码
城市
基础知识
地区
街头
姓名/th>
姓
名字
添加
编辑对不起,我的问题不够清楚。
我想复制整个表,而不仅仅是一个输入,每次用户单击按钮,我都想显示更多的表(具有旧输入的旧表尚未更改)
我找到了解决办法。
非常感谢你 您需要做的就是创建一个空的地址数组,然后单击按钮将输入推入该数组。下面是一个例子: Jsfiddle:
添加
{{地址}
newvue({
el:“#应用程序”,
数据(){
返回{
地址输入:“”,
地址:[]
}
},
方法:{
地址(){
this.addresses.push(this.addressInput)
//清除输入
this.addressInput=“”
}
}
})
是要“复制”整个表还是只复制一个输入?我想第二个是我想要的。在这种情况下,我宁愿将信息推送到如下数组:
<template>
<div class="formApp">
<input type="text" name="steet" v-model="street">
<button @click="addStreet">add</button>
<div v-for="str in streetArray">
<div @click="removeStreet($event)">{{ str }}</div>
</div>
</div>
</template>
<script>
export default {
name: 'formApp',
data() {
return {
streetArray: [],
street: '',
}
},
methods: {
addStreet() {
this.streetArray.push(this.street);
this.street = '';
},
removeStreet(event) {
var index = this.streetArray.indexOf(event.target.innerText);
index > -1 ? this.streetArray.splice(index, 1):'';
}
}
}
</script>
添加
{{str}}
导出默认值{
名称:“formApp”,
数据(){
返回{
StreeTray:[],
街道:'',
}
},
方法:{
addStreet(){
这条街推(这条街);
这条街=“”;
},
removeStreet(事件){
var index=this.streetaray.indexOf(event.target.innerText);
索引>-1?此.streetray.splice(索引,1):“”;
}
}
}
addStreet将在您每次单击按钮时添加一条新街道,然后它将清除输入。然后,如果用户想要删除街道,则必须单击街道名称。这种删除东西的方式对用户根本不友好,因此您可以在每个街道名称中添加一个图标来声明这种可能性
此外,这只是一个提示,因为在编写街道名称时可能会出现错误,用户需要一种删除它们的方法。为错误的街道提供大量输入,或者无法删除您添加的街道,这将是一场彻底的混乱。不管怎样,你可以试试下面的代码
newvue({
el:“#示例3”,
数据:{
标题:“名单”,
项目:{},
项目:[]
},
方法:{
addform:函数(){
this.items.push(this.item);
此项={};
}
}
})
邮政编码
城市
基础知识
地区
街头
名称
姓氏
名字
添加
{{title}}
{{value.邮政编码}
{{value.city}
{{value.District}}
{{value.last_name}
{{value.first{u name}
Tks谢谢你的友好回答,但我想复制整个表格。我编辑了我的问题,请看一下。谢谢。我编辑了我的问题,请看一下。解决方案是什么,我也有一个类似的问题?