在项目里的一个报名页面需要勾选两条信息(信息一和信息二),由于信息一和信息二所拥有的数据是一致的,所以后台只返回了一个对象数组,然后在前台设置了两个List数组来接收并加以区分。原型如下图;
测试出现的问题是:任意勾选信息一或信息二中的选项,对应另一个信息中的选项也会被勾选。比如我勾选了信息一的姓名和手机,那么信息二中的姓名和手机也会被勾选上。如下图:
二、错误代码
其实有过前一次项目里由于对象内存地址指向而导致的问题后,这次很快就意识到依旧是因为数组指向的问题,并给予了一些解决措施,然而好像并没有起作用。
错误及尝试修改的代码:
//第一次的错误代码,直接将请求回来的数据分别赋值给数组; this.firstList = data.body.dataList; this.secondList = data.body.dataList; //发现问题后,尝试解决问题的几种方案 this.firstList =this.firstList .concat(data.body.dataList); this.secondList =this.secondList .concat(data.body.dataList); //另一种方法 this.firstList = new Array(...data.body.dataList); this.secondList = new Array(...data.body.dataList); //又一种 this.firstList =[...data.body.dataList]; this.secondList = [...data.body.dataList];