vue点击按钮添加组件,类似于添加购物车效果。
首先在template里
<template>
<div class="hello">
<header>
<div>
<input type="text" v-model="child" />
<button @click="addChild">点击添加儿童</button>
</div>
<div>
<input type="text" v-model="man" />
<button @click="addMan">点击添加成人</button>
</div>
<div>
<input type="text" v-model="old" />
<button @click="addOld">点击添加老人</button>
</div>
</header>
<section>
<ul>
<template v-for="(item,index) in list">
<span :key="index" v-if="item.type === 'child'">
<p>车票 + 儿童票</p>
<label for="">姓名:<input type="text"></label>
<br>
<label for="">手机号:<input type="text"></label>
<br>
<label for="">身份证:<input type="text"></label>
</span>
<span :key="index" v-else-if="item.type === 'man'">
<p>车票 + 成人票</p>
<label for="">姓名:<input type="text"></label>
<br>
<label for="">手机号:<input type="text"></label>
<br>
<label for="">身份证:<input type="text"></label>
</span>
<span :key="index" v-else>
<p>车票 + 老人票</p>
<label for="">姓名:<input type="text"></label>
<br>
<label for="">手机号:<input type="text"></label>
<br>
<label for="">身份证:<input type="text"></label>
</span>
</template>
</ul>
</section>
</div>
</template>
然后是script
<script>
export default {
name: 'HelloWorld',
data() {
return {
child: 0,
man: 0,
old: 0,
list: []
}
},
methods: {
addChild() {
this.child++
this.list.push({
type: 'child'
})
},
addMan() {
this.man++
this.list.push({
type: 'man'
})
},
addOld() {
this.old++
this.list.push({
type: 'old'
})
}
}
}
</script>
最后呢也就是一个简易的样式
<style scoped>
header div {
margin-top: 20px;
}
</style>
样式呢,自己调就好了。效果图是静态的我就不上传了,感兴趣的朋友可以运行起来看效果。
版权声明:本文为beichenxiansen原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。