uni-app及vue开发循环创建的input框,value改变一个都随之改变的问题?
完美解决办法,直接上案例!数组:var a = [1,2,3];var b = a;b.push(4); // b中添加了一个4alert(a); // a变成了[1,2,3,4]对象:var obj = {a:10};var obj2 = obj;obj2.a = 20; // obj2.a改变了,alert(obj.a); // 20,obj的a跟着改变循环创建的...
·
完美解决办法,直接上案例!
数组:
var a = [1,2,3];
var b = a;
b.push(4); // b中添加了一个4
alert(a); // a变成了[1,2,3,4]
对象:
var obj = {a:10};
var obj2 = obj;
obj2.a = 20; // obj2.a改变了,
alert(obj.a); // 20,obj的a跟着改变
循环创建的表格,里面动态生成input,绑定value,结果就是一个框子改变值,其他的也变成的同样的值;
这里就需要用到深拷贝了,直接上代码;
this.datalist ={
//这是你循环时页面用到的数据
}
let obj={}; 先创建一个对象
obj=JSON.parse(JSON.stringify(this.templateData)); //这里深拷贝一下,给obj赋值
//这里不可以直接obj = this.datalist,不然在你处理obj里面的数据时this.datalist也会一起改变;
//我们把obj里面需要处理数据处理完之后再对this.datalist赋值,就完美解决了
this.datalist = obj
```好了本期问题完美解决收官,如果在使用过程中遇到什么问题欢迎在下方留言,希望可以帮到你!
更多推荐
已为社区贡献14条内容
所有评论(0)