easy3wui 1.5.49 → 1.5.50-beta2
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 +40 -6
- 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
|
|
|
@@ -849,7 +852,7 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
849
852
|
var copy = Array.isArray(obj) ? [] : {};
|
|
850
853
|
|
|
851
854
|
for (var key in obj) {
|
|
852
|
-
if (
|
|
855
|
+
if (_react2['default'].isValidElement(obj[key])) {
|
|
853
856
|
copy[key] = obj[key];
|
|
854
857
|
} else if (key === 'children' && Array.isArray(obj[key]) || typeof obj[key] === 'object') {
|
|
855
858
|
copy[key] = _this3.deepCopy(obj[key]);
|
|
@@ -860,6 +863,37 @@ 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 (_react2['default'].isValidElement(arrOne[i][key]) || _react2['default'].isValidElement(arrTwo[i][key])) {
|
|
882
|
+
// 是一个 React 元素
|
|
883
|
+
} else if (key === 'children' && Array.isArray(arrOne[i][key]) && Array.isArray(arrTwo[i][key])) {
|
|
884
|
+
var isEqual = _this3.touchDeepEqual(arrOne[i][key], arrTwo[i][key]);
|
|
885
|
+
if (isEqual) {
|
|
886
|
+
// 相等
|
|
887
|
+
} else {
|
|
888
|
+
return false;
|
|
889
|
+
}
|
|
890
|
+
} else if (arrOne[i][key] !== arrTwo[i][key]) {
|
|
891
|
+
return false;
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
return true;
|
|
896
|
+
};
|
|
863
897
|
};
|
|
864
898
|
|
|
865
899
|
exports['default'] = Easy3wGridPage;
|