Vue.$set的使用场景
有这样一个需求,用户可以增加多个输入框可以编辑:
实现的思路很简单,点击增加的时候,往一个数组里面push一条数据即可:
Vue.$set(object, key, value)
我们将代码改造一下:
>
>
v-for="(item,k) in prodForm.seqNos" :key="k">
type="text" v-model="item.seqNo" />
>
>
>
>
<script>
export default {
name: "addInput",
mounted(){
this.prodForm = this.basicInfo //初始化
//this.prodForm.seqNos = [] //因basicInfo没有seqNos,因此重新添加
this.$set(this.prodForm,'seqNos',[])
console.log(this.prodForm)
},
data(){
return {
prodForm:{
id:'',
seqNos:[],
},
basicInfo:{
id:1
}
}
},
methods:{
add(){
this.prodForm.seqNos.push({seqNo:''})
}
},
}
>
>
这时再打印prodForm变量,发现seqNos数组已经添加了getter和setter,按钮也生效了: