easy3wui 1.5.49 → 1.5.50-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Easy3wGridPage/index.js +37 -5
- package/package.json +1 -1
|
@@ -106,7 +106,7 @@ var Easy3wGridPage = function (_Component) {
|
|
|
106
106
|
}
|
|
107
107
|
var dataList = _this.props.dataList;
|
|
108
108
|
|
|
109
|
-
var arrData = dataList && dataList.length ?
|
|
109
|
+
var arrData = dataList && dataList.length ? _this.deepCopy(dataList) : [];
|
|
110
110
|
_this.state = {
|
|
111
111
|
// 数据
|
|
112
112
|
arrData: arrData, // 列表
|
|
@@ -125,9 +125,10 @@ var Easy3wGridPage = function (_Component) {
|
|
|
125
125
|
var _nextProps$dataList = nextProps.dataList,
|
|
126
126
|
nextDataList = _nextProps$dataList === undefined ? [] : _nextProps$dataList;
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
var isEqual = this.touchDeepEqual(nextDataList, dataList);
|
|
129
|
+
if (!isEqual) {
|
|
129
130
|
this.setState({
|
|
130
|
-
arrData: nextDataList.length ?
|
|
131
|
+
arrData: nextDataList.length ? this.deepCopy(dataList) : []
|
|
131
132
|
});
|
|
132
133
|
}
|
|
133
134
|
if (nextProps.cleanFlag === '1') {
|
|
@@ -144,6 +145,8 @@ var Easy3wGridPage = function (_Component) {
|
|
|
144
145
|
|
|
145
146
|
// 数组深度复制
|
|
146
147
|
|
|
148
|
+
// 数组深度比较
|
|
149
|
+
|
|
147
150
|
|
|
148
151
|
Easy3wGridPage.prototype.render = function render() {
|
|
149
152
|
var _this2 = this;
|
|
@@ -706,7 +709,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
706
709
|
break;
|
|
707
710
|
}
|
|
708
711
|
if (item.children) {
|
|
709
|
-
|
|
712
|
+
recursion(item.children);
|
|
710
713
|
}
|
|
711
714
|
}
|
|
712
715
|
};
|
|
@@ -793,7 +796,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
793
796
|
item.minWidth = 5;
|
|
794
797
|
}
|
|
795
798
|
if (item.children) {
|
|
796
|
-
|
|
799
|
+
recursionT(item.children);
|
|
797
800
|
}
|
|
798
801
|
};
|
|
799
802
|
|
|
@@ -860,6 +863,35 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
860
863
|
|
|
861
864
|
return copy;
|
|
862
865
|
};
|
|
866
|
+
|
|
867
|
+
this.touchDeepEqual = function (arrOne, arrTwo) {
|
|
868
|
+
if (arrOne.length === 0 && arrTwo.length === 0) {
|
|
869
|
+
return true;
|
|
870
|
+
}
|
|
871
|
+
if (arrOne.length !== arrTwo.length) {
|
|
872
|
+
return false;
|
|
873
|
+
}
|
|
874
|
+
for (var i = 0; i < arrOne.length; i += 1) {
|
|
875
|
+
var objOneKeys = Object.keys(arrOne[i]);
|
|
876
|
+
var objTwoKeys = Object.keys(arrTwo[i]);
|
|
877
|
+
if (objOneKeys.length !== objTwoKeys.length) {
|
|
878
|
+
return false;
|
|
879
|
+
}
|
|
880
|
+
for (var key in arrOne[i]) {
|
|
881
|
+
if (key === 'children' && Array.isArray(arrOne[i][key]) && Array.isArray(arrTwo[i][key])) {
|
|
882
|
+
var isEqual = _this3.touchDeepEqual(arrOne[i][key], arrTwo[i][key]);
|
|
883
|
+
if (isEqual) {
|
|
884
|
+
// 相等
|
|
885
|
+
} else {
|
|
886
|
+
return false;
|
|
887
|
+
}
|
|
888
|
+
} else if (arrOne[i][key] !== arrTwo[i][key]) {
|
|
889
|
+
return false;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
return true;
|
|
894
|
+
};
|
|
863
895
|
};
|
|
864
896
|
|
|
865
897
|
exports['default'] = Easy3wGridPage;
|