一、map改变属性
步骤:
在数据map时,每一行添加一个改变属性,例:isEdit:false,当改变了某一行时,将当前行的isEdit置为true,最后从总体数据内查找isEdit为true的数据
缺点:
需要遍历整体数据,数据量太大时会缓慢
二、添加中间数组
步骤:
1、后端传入的数据在每一行都添加上对应行的index值,需要保证行数据的index和数据内的index对应
2、设置一个数组changeData以便于存储改变的数据,某一行的数据发生改变时,将改变后的此行数据push到changeData中
3、向changeData内添加数据时,需要判断changeData内是否存在当前行,不存在则push,存在则更改当前行
4、如果需要没有dirty data(脏数据,即改变后又变回原来数据的行数据),可在最后遍历changeData,根据index判断新旧数据,完全相同的行则删除
( JSON.stringify(changeItem) === JSON.stringify(oldTableData).value[changeItem.index] )
缺点:
可能会有脏数据,如果想要去除则需要多一步判断(一般可以不去)