|
发表于 2018-6-19 15:05:44
|
显示全部楼层
原因是自己扩展底层Array 的原因
3.8 版本修改下代码
for (row in arrayRows) {
变成
for (var row=0,len=arrayRows.length;row<len;row++) {
两行代码改一下就可以了
总体方法改成如下
- _clear : function(parent) {
- this.setOffset(0,parent);
- // 清空data代码
- //当前行是parent的子才进行重置当前行
- if(!parent || this.isChild(this.getCurrentRow(true), parent))
- this.currentRow.set();
- var arrayRows, row = null;
- if (!parent) {
- arrayRows = this.allDatas.get();
- for (var row=0,len=arrayRows.length;row<len;row++) {
- this._clear(arrayRows[row]);
- }
- this.allDatas.removeAll();
- this.deleteDatas.removeAll();
- } else {
- if (parent.rows) {
- arrayRows = parent.rows.get();
- for (var row=0,len=arrayRows.length;row<len;row++) {
- this._clear(arrayRows[row]);
- }
- parent.rows.removeAll();
- }
- var dels = this.deleteDatas.get();
- for(var i=0;i<dels.length;i++){//删除子
- if(this.isChild(dels[i], parent))
- this.deleteDatas.splice(i,1);
- }
- }
- },
复制代码
|
|