前端使用vue框架,resp后的结果为在created过滤后的结果,想要过滤之前的结果
created () {
const pid = this.$route.query.pid
const _this = this
axios.get('http://localhost:8080/findPjDetailById/' + pid).then(function (resp) {
_this.tableDataOne = resp.data
for (let i = resp.data.length-1; i >0; i--) {
if((resp.data)[i].pjStage===(resp.data)[i-1].pjStage)
{
(resp.data)[i].pjStage="";
}
if((resp.data)[i].pjWorkNo===(resp.data)[i-1].pjWorkNo)
{
(resp.data)[i].pjWorkNo="";
}
if((resp.data)[i].pjWorkName===(resp.data)[i-1].pjWorkName)
{
(resp.data)[i].pjWorkName="";
}
if((resp.data)[i].pjProjectNo===(resp.data)[i-1].pjProjectNo)
{
(resp.data)[i].pjProjectNo="";
}
if((resp.data)[i].pjProjectName===(resp.data)[i-1].pjProjectName)
{
(resp.data)[i].pjProjectName="";
}
if((resp.data)[i].pjWorkInfoNo===(resp.data)[i-1].pjWorkInfoNo)
{
(resp.data)[i].pjWorkInfoNo="";
}
if((resp.data)[i].pjWorkInfoName===(resp.data)[i-1].pjWorkInfoName)
{
(resp.data)[i].pjWorkInfoName="";
}
} //过滤条件
_this.tableDataTwo = resp.data //此结果和上面的tableDataOne结果一样,都是经过过滤后的数据
//????这个过滤后的数据是必须需要,现在怎么得到过滤前的完整数据
})
},
需要深拷贝一份resp.data使用,而不是直接修改resp.data,这样会导致_this.tableDataTwo和_this.tableDataOne都是修改后的resp.data
深拷贝方法网上很多可自行查找
_this.tableDataOne = JSON.parse(JSON.stringify(resp.data))