问题场景:
后端(springboot)通过接口传输对象给前端,前端用el-table表格展示但没有生效,表格里没有数据
在同一个组件里的另一个表格生效了,但这个表格没生效,只有两个表格的data属性不一样,是用不同的接口接收到的数据
为什么data属性不一致呢?
在我的设想中,生效的表格展现的是所有数据,所以接收的数据是一个很多条数据的数组,没生效的表格只展现一条数据,所以接收的数据是一个只有一条数据的数组
想起之前也好几次遇见这样的问题,每次解决了但是都没有记录,导致重复遇到这种bug
debug:
既然两个表格的data属性不一样,可能就是data属性的原因,那就可以从这个角度排查:
先把两个数据都console.log一遍,顺便把他们的数据类型也console.log一遍,都是Object类型,但一个是数组,另一个是对象,似乎没毛病,都是数组对象。
再细看对象内容,一个有很多条数据,一个只有一条数据,似乎也没毛病,但是细看之下,生效的那个对象数组里面有很多括号,但是另一个对象数组里面一个括号都没有,有点不对劲
猜测:可能是这个没生效的“对象数组”真的只是个对象,而不是数组
尝试把这个对象转换成数组
obj = new Array(obj)
然后console.log一下,有括号了,然后放进表格里,生效了
其实这个问题是个小问题,但真的很容易被忽略,如果不加以记录的话,确实很容易踩坑