ztxkui 6.0.2 → 6.0.3

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.
@@ -162,10 +162,12 @@ function Home() {
162
162
  {
163
163
  name: 'test3',
164
164
  label: '测试3',
165
- shouldUpdate: function (prevValues, curValues) {
166
- return prevValues.test1 !== curValues.test1;
165
+ shouldUpdateNames: ['test23'],
166
+ shouldUpdateBeOutsideState: function () { return true; },
167
+ isDisplay: function (form) {
168
+ console.log(form, form.getFieldValue('test23'));
169
+ return form.getFieldValue('test23') === '1';
167
170
  },
168
- shouldUpdateBeOutsideState: function () { return false; },
169
171
  render: function (itemProps, formInstance) {
170
172
  return React.createElement(Input, __assign({}, itemProps));
171
173
  },
@@ -15,15 +15,15 @@ export interface IFormItem extends FormItemProps {
15
15
  /**
16
16
  * 是否必填
17
17
  */
18
- isRequired?: boolean;
18
+ isRequired?: boolean | ((formInstance: FormInstance<any>) => boolean);
19
19
  /**
20
20
  * 是否可以修改
21
21
  */
22
- isChangeable?: boolean;
22
+ isChangeable?: boolean | ((formInstance: FormInstance<any>) => boolean);
23
23
  /**
24
24
  * 是否展示
25
25
  */
26
- isDisplay?: boolean;
26
+ isDisplay?: boolean | ((formInstance: FormInstance<any>) => boolean);
27
27
  /**
28
28
  * 前缀
29
29
  */
@@ -30,6 +30,34 @@ function runHandle(form, handle) {
30
30
  function Item(item) {
31
31
  var _a, _b, _c;
32
32
  var render = item.render, isRequired = item.isRequired, isDisplay = item.isDisplay, isChangeable = item.isChangeable, dependencies = item.dependencies, shouldUpdate = item.shouldUpdate, preText = item.preText, nextText = item.nextText, disabled = item.disabled, noBorder = item.noBorder, noLabel = item.noLabel, showBoxBorder = item.showBoxBorder, width = item.width, shouldUpdateNames = item.shouldUpdateNames, shouldUpdateClear = item.shouldUpdateClear, configName = item.configName, index = item.index, itemClassName = item.itemClassName, form = item.form, _isDisplayConfigInfo = item._isDisplayConfigInfo, _isRequireConfigInfo = item._isRequireConfigInfo, _isChangeableConfigInfo = item._isChangeableConfigInfo, outsideState = item.outsideState, shouldUpdateBeOutsideState = item.shouldUpdateBeOutsideState, resetItem = __rest(item, ["render", "isRequired", "isDisplay", "isChangeable", "dependencies", "shouldUpdate", "preText", "nextText", "disabled", "noBorder", "noLabel", "showBoxBorder", "width", "shouldUpdateNames", "shouldUpdateClear", "configName", "index", "itemClassName", "form", "_isDisplayConfigInfo", "_isRequireConfigInfo", "_isChangeableConfigInfo", "outsideState", "shouldUpdateBeOutsideState"]);
33
+ // 更新是否必填配置
34
+ var updateIsRequired = function (isRequired) {
35
+ var _a;
36
+ var isRequireBoolean = !!isRequired;
37
+ var rules = Array.isArray(resetItem.rules) ? resetItem.rules : [];
38
+ // 是否之前就传入了必填非必填逻辑
39
+ var requiredIndex = rules.findIndex(function (rule) {
40
+ if (typeof rule === 'function') {
41
+ return false;
42
+ }
43
+ return (rule === null || rule === void 0 ? void 0 : rule.required) === true || (rule === null || rule === void 0 ? void 0 : rule.required) === false;
44
+ });
45
+ // 如果找到了 直接替换之前的规则
46
+ if (requiredIndex !== -1) {
47
+ var message = (_a = rules[requiredIndex]) === null || _a === void 0 ? void 0 : _a.message;
48
+ rules.splice(requiredIndex, 1, {
49
+ required: isRequireBoolean,
50
+ message: message,
51
+ });
52
+ }
53
+ else {
54
+ rules.unshift({
55
+ required: isRequireBoolean,
56
+ message: resetItem.label + " \u672A\u586B!",
57
+ });
58
+ }
59
+ resetItem.rules = rules;
60
+ };
33
61
  // 处理配置相关逻辑 配置优先代码设置
34
62
  // 传入了是否展示配置
35
63
  var _isDisplay = typeof _isDisplayConfigInfo === 'undefined'
@@ -125,6 +153,20 @@ function Item(item) {
125
153
  return (React.createElement(ItemWrap, { key: key, width: width },
126
154
  preText ? preText : null,
127
155
  React.createElement(Form.Item, { shouldUpdate: shouldUpdateHandle, noStyle: true }, function (formInstance) {
156
+ if (typeof isDisplay === 'function') {
157
+ var isD = isDisplay(form);
158
+ if (!isD) {
159
+ return null;
160
+ }
161
+ }
162
+ if (typeof isRequired === 'function') {
163
+ var isR = isRequired(form);
164
+ updateIsRequired(isR);
165
+ }
166
+ if (typeof isChangeable === 'function') {
167
+ var isC = isChangeable(form);
168
+ itemProps.disabled = !isC;
169
+ }
128
170
  return item.name ? (React.createElement(Form.Item, __assign({}, resetItem, { className: itemClasses }), render(itemProps, formInstance))) : (render(itemProps, formInstance));
129
171
  }),
130
172
  nextText ? nextText : null));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ztxkui",
3
- "version": "6.0.2",
3
+ "version": "6.0.3",
4
4
  "private": false,
5
5
  "description": "React components library",
6
6
  "author": "zt-front-end",
@@ -94,7 +94,8 @@
94
94
  "source-map-explorer": "^2.5.2",
95
95
  "typescript": "^4.1.2",
96
96
  "web-vitals": "^1.0.1",
97
- "ztxkutils": "^4.0.1"
97
+ "ztxkutils": "^2.10.66-32",
98
+ "ztxkui": "6.0.2"
98
99
  },
99
100
  "peerDependencies": {
100
101
  "axios": ">=0.21.1",
@@ -104,4 +105,4 @@
104
105
  "react-dom": ">=16.9.0",
105
106
  "ztxkutils": ">=4.0.1"
106
107
  }
107
- }
108
+ }