fmui-base 2.2.95 → 2.2.96
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/README.md +1 -0
- package/lib/form/form.js +26 -1
- package/lib/form/table.js +6 -2
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/form/form.js
CHANGED
|
@@ -2070,7 +2070,17 @@ var PageHome = function (_React$Component) {
|
|
|
2070
2070
|
// this.props.reloadItemParam(itemNew,this.state.itemParam);
|
|
2071
2071
|
// }
|
|
2072
2072
|
if (itemParam.itemType == 'popuser') {
|
|
2073
|
-
|
|
2073
|
+
// 静默关联刷新只改必填/隐藏,不重新 init,避免 initSelectData 触发 onChange 死循环
|
|
2074
|
+
var hasValueUpdate = false;
|
|
2075
|
+
for (var pi = 0; pi < itemNew.length; pi++) {
|
|
2076
|
+
if (itemNew[pi].key === 'value') {
|
|
2077
|
+
hasValueUpdate = true;
|
|
2078
|
+
break;
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2081
|
+
if (hasValueUpdate && !silent) {
|
|
2082
|
+
this.refs['selectMember_' + itemParam.key].initSelectData();
|
|
2083
|
+
}
|
|
2074
2084
|
}
|
|
2075
2085
|
// 静默刷新时仍需同步 mainTblData.required,否则提交校验不生效
|
|
2076
2086
|
if (silent && this.props.data) {
|
|
@@ -3067,6 +3077,21 @@ var PageHome = function (_React$Component) {
|
|
|
3067
3077
|
value: function popuserChange(code, newValue, oldValue) {
|
|
3068
3078
|
console.log("===popuserChange===");
|
|
3069
3079
|
var t = this;
|
|
3080
|
+
var normalizedNew = newValue;
|
|
3081
|
+
if (normalizedNew && normalizedNew.length == 0) {
|
|
3082
|
+
normalizedNew = "";
|
|
3083
|
+
} else if (normalizedNew) {
|
|
3084
|
+
normalizedNew = JSON.stringify(newValue);
|
|
3085
|
+
} else {
|
|
3086
|
+
normalizedNew = "";
|
|
3087
|
+
}
|
|
3088
|
+
var normalizedOld = oldValue;
|
|
3089
|
+
if (normalizedOld && typeof normalizedOld !== 'string') {
|
|
3090
|
+
normalizedOld = JSON.stringify(normalizedOld);
|
|
3091
|
+
}
|
|
3092
|
+
if (normalizedNew === normalizedOld) {
|
|
3093
|
+
return;
|
|
3094
|
+
}
|
|
3070
3095
|
var userId = "";
|
|
3071
3096
|
for (var i = 0; i < newValue.length; i++) {
|
|
3072
3097
|
if (newValue[i] && newValue[i].scopeType == 'user') {
|
package/lib/form/table.js
CHANGED
|
@@ -828,7 +828,7 @@ var PageHome = function (_React$Component) {
|
|
|
828
828
|
t._isRelaFieldRefreshing = true;
|
|
829
829
|
try {
|
|
830
830
|
if (!isSubTrigger) {
|
|
831
|
-
t.refreshAllRelaFieldsByRelaMap(data);
|
|
831
|
+
t.refreshAllRelaFieldsByRelaMap(data, itemParam.uniqueName);
|
|
832
832
|
} else if (formRelaFieldMaps) {
|
|
833
833
|
var formRelaFieldMapsObj = formRelaFieldMaps[itemParam.uniqueName];
|
|
834
834
|
if (formRelaFieldMapsObj && formRelaFieldMapsObj.length > 0) {
|
|
@@ -1148,7 +1148,7 @@ var PageHome = function (_React$Component) {
|
|
|
1148
1148
|
|
|
1149
1149
|
}, {
|
|
1150
1150
|
key: 'refreshAllRelaFieldsByRelaMap',
|
|
1151
|
-
value: function refreshAllRelaFieldsByRelaMap(data) {
|
|
1151
|
+
value: function refreshAllRelaFieldsByRelaMap(data, changedUniqueName) {
|
|
1152
1152
|
var t = this;
|
|
1153
1153
|
var relaFieldsMap = t.state.formRelaFieldMaps;
|
|
1154
1154
|
if (!relaFieldsMap) {
|
|
@@ -1192,6 +1192,10 @@ var PageHome = function (_React$Component) {
|
|
|
1192
1192
|
if (!rules || !rules.length || !t.refs[targetUniqueName]) {
|
|
1193
1193
|
continue;
|
|
1194
1194
|
}
|
|
1195
|
+
// 当前变更字段本身不是触发字段时,跳过自身刷新,避免 popuser 等组件重复 init
|
|
1196
|
+
if (changedUniqueName && targetUniqueName === changedUniqueName) {
|
|
1197
|
+
continue;
|
|
1198
|
+
}
|
|
1195
1199
|
var fieldRef = t.refs[targetUniqueName];
|
|
1196
1200
|
var skipEditMust = t.isRelaFieldSkipEditMust(targetUniqueName, fieldControll, fieldRef);
|
|
1197
1201
|
var hideFlag = defaulthideFields.indexOf(targetUniqueName) != -1;
|