@flatbiz/antd 5.0.21 → 5.0.23
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/dist/box-grid/index.d.ts +8 -0
- package/dist/box-grid/index.js +19 -8
- package/dist/box-grid/index.js.map +1 -1
- package/dist/{cell-render-QV48PC3s.js → cell-render-WngfXhmk.js} +2 -2
- package/dist/{cell-render-QV48PC3s.js.map → cell-render-WngfXhmk.js.map} +1 -1
- package/dist/date-range-picker-wrapper-form-item/index.d.ts +27 -5
- package/dist/date-range-picker-wrapper-form-item/index.js +3 -3
- package/dist/{date-range-picker-wrapper-form-item-BPc8iK10.js → date-range-picker-wrapper-form-item-DjlBANjZ.js} +3 -3
- package/dist/{date-range-picker-wrapper-form-item-BPc8iK10.js.map → date-range-picker-wrapper-form-item-DjlBANjZ.js.map} +1 -1
- package/dist/dependencies-DbCKAltG.js +51 -0
- package/dist/dependencies-DbCKAltG.js.map +1 -0
- package/dist/{drag-D_u-98wL.js → drag-COlm_nTJ.js} +2 -2
- package/dist/{drag-D_u-98wL.js.map → drag-COlm_nTJ.js.map} +1 -1
- package/dist/{drag-DOhz_ox7.js → drag-D_E1t5Y_.js} +2 -2
- package/dist/{drag-DOhz_ox7.js.map → drag-D_E1t5Y_.js.map} +1 -1
- package/dist/drag-editable-card/index.d.ts +34 -4
- package/dist/drag-editable-card/index.js +5 -5
- package/dist/drag-editable-table/index.js +5 -5
- package/dist/drag-editable-table-pro/index.d.ts +26 -4
- package/dist/drag-editable-table-pro/index.js +3 -3
- package/dist/easy-form/index.d.ts +12 -1
- package/dist/easy-form/index.js +1 -1
- package/dist/easy-table/index.d.ts +8 -0
- package/dist/easy-table/index.js +1 -1
- package/dist/editable-card/index.d.ts +34 -4
- package/dist/editable-card/index.js +4 -4
- package/dist/{editable-card-Deo3SUjG.js → editable-card-CvNFF-63.js} +4 -4
- package/dist/{editable-card-Deo3SUjG.js.map → editable-card-CvNFF-63.js.map} +1 -1
- package/dist/{editable-card-CT6GEcp6.js → editable-card-DNmvAeUk.js} +2 -2
- package/dist/{editable-card-CT6GEcp6.js.map → editable-card-DNmvAeUk.js.map} +1 -1
- package/dist/editable-table/index.js +4 -4
- package/dist/{editable-table-tiF4vQG9.js → editable-table-CQ1FGU1w.js} +3 -3
- package/dist/{editable-table-tiF4vQG9.js.map → editable-table-CQ1FGU1w.js.map} +1 -1
- package/dist/editable-table-pro/index.d.ts +26 -4
- package/dist/editable-table-pro/index.js +2 -2
- package/dist/{editable-table-pro-jkHndPRi.js → editable-table-pro-DSaH9ZVk.js} +2 -2
- package/dist/{editable-table-pro-jkHndPRi.js.map → editable-table-pro-DSaH9ZVk.js.map} +1 -1
- package/dist/{form-w7uoh7-7.js → form-WrPltJop.js} +15 -42
- package/dist/form-WrPltJop.js.map +1 -0
- package/dist/form-item-hidden/index.d.ts +3 -0
- package/dist/form-item-hidden/index.js +1 -1
- package/dist/{form-item-hidden-B9afZdSe.js → form-item-hidden-BtQvJEx7.js} +3 -1
- package/dist/form-item-hidden-BtQvJEx7.js.map +1 -0
- package/dist/form-item-span/index.d.ts +5 -0
- package/dist/form-item-span/index.js +2 -2
- package/dist/form-item-text/index.d.ts +26 -4
- package/dist/form-item-text/index.js +3 -3
- package/dist/{form-item-text-0Z3jfmVa.js → form-item-text-BUlmfs94.js} +3 -3
- package/dist/{form-item-text-0Z3jfmVa.js.map → form-item-text-BUlmfs94.js.map} +1 -1
- package/dist/form-item-wrapper/index.d.ts +45 -7
- package/dist/form-item-wrapper/index.js +1 -1
- package/dist/{form-item-wrapper-DHRbunEm.js → form-item-wrapper-BUQoMpEv.js} +60 -10
- package/dist/form-item-wrapper-BUQoMpEv.js.map +1 -0
- package/dist/form-item-wrapper-dependencies/index.d.ts +30 -74
- package/dist/form-item-wrapper-dependencies/index.js +1 -11
- package/dist/form-item-wrapper-dependencies/index.js.map +1 -1
- package/dist/index.d.ts +100 -38
- package/dist/index.js +18 -18
- package/dist/{number-range-DoBW86wx.js → number-range-DGIidbVo.js} +2 -2
- package/dist/{number-range-DoBW86wx.js.map → number-range-DGIidbVo.js.map} +1 -1
- package/dist/number-range-form-item/index.d.ts +27 -5
- package/dist/number-range-form-item/index.js +2 -2
- package/dist/pre-defined-class-name/index.css +1 -1
- package/dist/{span-_AZUf9Zw.js → span-LqW6gk2r.js} +6 -5
- package/dist/span-LqW6gk2r.js.map +1 -0
- package/dist/{split-RLM37DOW.js → split-BFqZ2i6c.js} +2 -2
- package/dist/split-BFqZ2i6c.js.map +1 -0
- package/dist/split-wrapper/index.js +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/table-cell-render/index.js +2 -2
- package/dist/{tag-list-C9_bM06E.js → tag-list-Z6yWz3Id.js} +29 -39
- package/dist/tag-list-Z6yWz3Id.js.map +1 -0
- package/dist/tag-list-render/index.js +1 -1
- package/dist/time-range-picker-wrapper-form-item/index.d.ts +27 -5
- package/dist/time-range-picker-wrapper-form-item/index.js +3 -3
- package/dist/{time-range-picker-wrapper-form-item-CZSB-Rzh.js → time-range-picker-wrapper-form-item-Dh2NJEBJ.js} +3 -3
- package/dist/{time-range-picker-wrapper-form-item-CZSB-Rzh.js.map → time-range-picker-wrapper-form-item-Dh2NJEBJ.js.map} +1 -1
- package/package.json +1 -2
- package/CHANGELOG.md +0 -1
- package/dist/dependencies-C23wp0ou.js +0 -61
- package/dist/dependencies-C23wp0ou.js.map +0 -1
- package/dist/form-item-hidden-B9afZdSe.js.map +0 -1
- package/dist/form-item-wrapper-DHRbunEm.js.map +0 -1
- package/dist/form-w7uoh7-7.js.map +0 -1
- package/dist/span-_AZUf9Zw.js.map +0 -1
- package/dist/split-RLM37DOW.js.map +0 -1
- package/dist/tag-list-C9_bM06E.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TAny } from '@flatbiz/utils';
|
|
1
|
+
import { TAny, TPlainObject } from '@flatbiz/utils';
|
|
2
2
|
import { FormItemProps } from 'antd';
|
|
3
3
|
import { ReactElement, ReactNode } from 'react';
|
|
4
4
|
|
|
@@ -20,7 +20,7 @@ export type TFormItemLayoutPreClassNameProps = {
|
|
|
20
20
|
*/
|
|
21
21
|
className?: string;
|
|
22
22
|
};
|
|
23
|
-
export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNameProps & {
|
|
23
|
+
export type FormItemWrapperProps = Omit<FormItemProps, "hidden" | "children" | "noStyle"> & TFormItemLayoutPreClassNameProps & {
|
|
24
24
|
wrapper?: (children: ReactNode) => ReactElement;
|
|
25
25
|
/** 设置wrapper后,before、after失效 */
|
|
26
26
|
before?: ReactNode;
|
|
@@ -33,15 +33,37 @@ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNamePr
|
|
|
33
33
|
* 如果设置 normalize 属性,outputNormalize将失效
|
|
34
34
|
*/
|
|
35
35
|
outputNormalize?: (value?: TAny) => TAny;
|
|
36
|
-
/**
|
|
37
|
-
|
|
36
|
+
/**
|
|
37
|
+
* 隐藏 Form.Item,同时清除 Form.Item 值
|
|
38
|
+
* ```
|
|
39
|
+
* 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
isClear?: boolean | ((formValues: TPlainObject) => boolean);
|
|
43
|
+
/**
|
|
44
|
+
* 隐藏 Form.Item,不会清除 Form.Item 值
|
|
45
|
+
* ```
|
|
46
|
+
* 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
hidden?: boolean | ((formValues: TPlainObject) => boolean);
|
|
38
50
|
/**
|
|
39
51
|
* 栅格占位格数,最大值:24
|
|
40
52
|
* ```
|
|
41
|
-
* 1.
|
|
53
|
+
* 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;
|
|
54
|
+
* 2. 父节点使用属性值,当前节点不使用属性值
|
|
42
55
|
* ```
|
|
43
56
|
*/
|
|
44
57
|
span?: number;
|
|
58
|
+
/** 不支持函数式写法,如果需要使用dependencies获取表单值,可使用FormItemWrapperDependencies 组件 */
|
|
59
|
+
children?: ReactNode;
|
|
60
|
+
/**
|
|
61
|
+
* ```
|
|
62
|
+
* 1. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常
|
|
63
|
+
* 2. 在FormItemWrapper中使用 dependencies 逻辑不需要设置 noStyle
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
noStyle?: boolean;
|
|
45
67
|
};
|
|
46
68
|
/**
|
|
47
69
|
* 对 Form.Item 包装处理
|
|
@@ -49,8 +71,24 @@ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNamePr
|
|
|
49
71
|
* 1. 为 children 增加 before、after
|
|
50
72
|
* 2. 对输入、输出数据进行序列化处理
|
|
51
73
|
* 3. 内置布局样式使用 preDefinedClassName.formItem
|
|
52
|
-
* 4. 设置隐藏域(不清除字段值) 使用hidden
|
|
53
|
-
* 5. 设置隐藏域(清除字段值)使用isClear
|
|
74
|
+
* 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用
|
|
75
|
+
* 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用
|
|
76
|
+
* 6. 不支持noStyle属性、children不支持函数写法、如果需要获取依赖字段值,可使用 FormItemWrapperDependencies 组件
|
|
77
|
+
* 7. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常
|
|
78
|
+
*
|
|
79
|
+
*
|
|
80
|
+
* ** 依赖其他字段 自身切换显示隐藏 **
|
|
81
|
+
* <FormItemWrapper
|
|
82
|
+
* label="label"
|
|
83
|
+
* name="xx1"
|
|
84
|
+
* dependencies={['type']}
|
|
85
|
+
* isClear={(values) => {
|
|
86
|
+
* return values.type == 1
|
|
87
|
+
* }}>
|
|
88
|
+
* <Input placeholder="请输入" />
|
|
89
|
+
* </FormItemWrapper>
|
|
90
|
+
*
|
|
91
|
+
* 如果只是想获取依赖字段值,可使用 FormItemWrapperDependencies 组件
|
|
54
92
|
* ```
|
|
55
93
|
*/
|
|
56
94
|
export declare const FormItemWrapper: {
|
|
@@ -4,7 +4,7 @@ import './../pre-defined-class-name/index.css';
|
|
|
4
4
|
import './index.css';
|
|
5
5
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
6
|
|
|
7
|
-
export { F as FormItemWrapper } from '../form-item-wrapper-
|
|
7
|
+
export { F as FormItemWrapper } from '../form-item-wrapper-BUQoMpEv.js';
|
|
8
8
|
import '../_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
9
9
|
import 'react';
|
|
10
10
|
import 'antd';
|
|
@@ -9,7 +9,7 @@ import { preDefinedClassName } from './pre-defined-class-name/index.js';
|
|
|
9
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
11
|
var _excluded = ["wrapper", "children", "inputNormalize", "isClear"],
|
|
12
|
-
_excluded2 = ["wrapper", "isClear", "labelWidth", "labelItemVertical", "labelAlign", "children", "before", "after", "inputNormalize", "outputNormalize", "className"];
|
|
12
|
+
_excluded2 = ["wrapper", "isClear", "labelWidth", "labelItemVertical", "labelAlign", "children", "before", "after", "inputNormalize", "outputNormalize", "className", "dependencies", "hidden"];
|
|
13
13
|
var FormItemWrapperChildren = function FormItemWrapperChildren(props) {
|
|
14
14
|
var wrapper = props.wrapper,
|
|
15
15
|
children = props.children,
|
|
@@ -64,8 +64,24 @@ var FormItemWrapperChildren = function FormItemWrapperChildren(props) {
|
|
|
64
64
|
* 1. 为 children 增加 before、after
|
|
65
65
|
* 2. 对输入、输出数据进行序列化处理
|
|
66
66
|
* 3. 内置布局样式使用 preDefinedClassName.formItem
|
|
67
|
-
* 4. 设置隐藏域(不清除字段值) 使用hidden
|
|
68
|
-
* 5. 设置隐藏域(清除字段值)使用isClear
|
|
67
|
+
* 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用
|
|
68
|
+
* 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用
|
|
69
|
+
* 6. 不支持noStyle属性、children不支持函数写法、如果需要获取依赖字段值,可使用 FormItemWrapperDependencies 组件
|
|
70
|
+
* 7. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常
|
|
71
|
+
*
|
|
72
|
+
*
|
|
73
|
+
* ** 依赖其他字段 自身切换显示隐藏 **
|
|
74
|
+
* <FormItemWrapper
|
|
75
|
+
* label="label"
|
|
76
|
+
* name="xx1"
|
|
77
|
+
* dependencies={['type']}
|
|
78
|
+
* isClear={(values) => {
|
|
79
|
+
* return values.type == 1
|
|
80
|
+
* }}>
|
|
81
|
+
* <Input placeholder="请输入" />
|
|
82
|
+
* </FormItemWrapper>
|
|
83
|
+
*
|
|
84
|
+
* 如果只是想获取依赖字段值,可使用 FormItemWrapperDependencies 组件
|
|
69
85
|
* ```
|
|
70
86
|
*/
|
|
71
87
|
var FormItemWrapper = function FormItemWrapper(props) {
|
|
@@ -74,13 +90,16 @@ var FormItemWrapper = function FormItemWrapper(props) {
|
|
|
74
90
|
labelWidth = props.labelWidth,
|
|
75
91
|
labelItemVertical = props.labelItemVertical,
|
|
76
92
|
labelAlign = props.labelAlign,
|
|
77
|
-
|
|
93
|
+
_children2 = props.children,
|
|
78
94
|
before = props.before,
|
|
79
95
|
after = props.after,
|
|
80
96
|
inputNormalize = props.inputNormalize,
|
|
81
97
|
outputNormalize = props.outputNormalize,
|
|
82
98
|
className = props.className,
|
|
99
|
+
dependencies = props.dependencies,
|
|
100
|
+
hidden = props.hidden,
|
|
83
101
|
rest = _objectWithoutProperties(props, _excluded2);
|
|
102
|
+
var form = Form.useFormInstance();
|
|
84
103
|
var innerClassName = useMemo(function () {
|
|
85
104
|
return preDefinedClassName.getFormItemLayoutClassName({
|
|
86
105
|
labelWidth: labelWidth,
|
|
@@ -89,22 +108,53 @@ var FormItemWrapper = function FormItemWrapper(props) {
|
|
|
89
108
|
className: className
|
|
90
109
|
});
|
|
91
110
|
}, [labelWidth, labelItemVertical, labelAlign, className]);
|
|
111
|
+
if (dependencies && (dependencies === null || dependencies === void 0 ? void 0 : dependencies.length) > 0) {
|
|
112
|
+
return /*#__PURE__*/jsx(Form.Item, {
|
|
113
|
+
dependencies: dependencies,
|
|
114
|
+
noStyle: true,
|
|
115
|
+
children: function children(innerForm) {
|
|
116
|
+
var innerHidden = typeof hidden === 'function' ? hidden === null || hidden === void 0 ? void 0 : hidden(innerForm.getFieldsValue()) : hidden;
|
|
117
|
+
var innerIsClear = typeof isClear === 'function' ? isClear === null || isClear === void 0 ? void 0 : isClear(innerForm.getFieldsValue()) : isClear;
|
|
118
|
+
var rules = rest.rules;
|
|
119
|
+
if (innerIsClear || innerHidden) {
|
|
120
|
+
rules = [];
|
|
121
|
+
}
|
|
122
|
+
return /*#__PURE__*/jsx(Form.Item, _objectSpread2(_objectSpread2({
|
|
123
|
+
normalize: outputNormalize
|
|
124
|
+
}, rest), {}, {
|
|
125
|
+
className: innerClassName,
|
|
126
|
+
hidden: innerIsClear || innerHidden,
|
|
127
|
+
rules: rules,
|
|
128
|
+
children: /*#__PURE__*/isValidElement(_children2) ? /*#__PURE__*/jsx(FormItemWrapperChildren, {
|
|
129
|
+
wrapper: wrapper,
|
|
130
|
+
before: before,
|
|
131
|
+
after: after,
|
|
132
|
+
inputNormalize: inputNormalize,
|
|
133
|
+
isClear: innerIsClear,
|
|
134
|
+
children: _children2
|
|
135
|
+
}) : _children2
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
var innerHidden = typeof hidden === 'function' ? hidden(form.getFieldsValue()) : hidden;
|
|
141
|
+
var innerIsClear = typeof isClear === 'function' ? isClear(form.getFieldsValue()) : isClear;
|
|
92
142
|
return /*#__PURE__*/jsx(Form.Item, _objectSpread2(_objectSpread2({
|
|
93
143
|
normalize: outputNormalize
|
|
94
144
|
}, rest), {}, {
|
|
95
145
|
className: innerClassName,
|
|
96
|
-
hidden:
|
|
97
|
-
children: /*#__PURE__*/isValidElement(
|
|
146
|
+
hidden: innerHidden || innerIsClear,
|
|
147
|
+
children: /*#__PURE__*/isValidElement(_children2) ? /*#__PURE__*/jsx(FormItemWrapperChildren, {
|
|
98
148
|
wrapper: wrapper,
|
|
99
149
|
before: before,
|
|
100
150
|
after: after,
|
|
101
151
|
inputNormalize: inputNormalize,
|
|
102
|
-
isClear:
|
|
103
|
-
children:
|
|
104
|
-
}) :
|
|
152
|
+
isClear: innerIsClear,
|
|
153
|
+
children: _children2
|
|
154
|
+
}) : _children2
|
|
105
155
|
}));
|
|
106
156
|
};
|
|
107
157
|
FormItemWrapper['domTypeName'] = 'FormItemWrapper';
|
|
108
158
|
|
|
109
159
|
export { FormItemWrapper as F };
|
|
110
|
-
//# sourceMappingURL=form-item-wrapper-
|
|
160
|
+
//# sourceMappingURL=form-item-wrapper-BUQoMpEv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-item-wrapper-BUQoMpEv.js","sources":["@flatbiz/antd/src/form-item-wrapper/form-item-wrapper.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement, isValidElement, useMemo } from 'react';\nimport type { FormItemProps } from 'antd';\nimport { Form } from 'antd';\nimport type { TAny, TPlainObject } from '@flatbiz/utils';\nimport { composeProps, isUndefinedOrNull } from '@flatbiz/utils';\nimport { fbaHooks } from '../fba-hooks/index.js';\nimport type { TFormItemLayoutPreClassNameProps } from '../pre-defined-class-name/form/index.jsx';\nimport { preDefinedClassName } from '../pre-defined-class-name/index.js';\nexport type FormItemWrapperProps = Omit<\n FormItemProps,\n 'hidden' | 'children' | 'noStyle'\n> &\n TFormItemLayoutPreClassNameProps & {\n wrapper?: (children: ReactNode) => ReactElement;\n /** 设置wrapper后,before、after失效 */\n before?: ReactNode;\n /** 设置wrapper后,before、after失效 */\n after?: ReactNode;\n /** value 序列化处理 */\n inputNormalize?: (value?: TAny) => TAny;\n /**\n * onChange 参数序列化处理\n * 如果设置 normalize 属性,outputNormalize将失效\n */\n outputNormalize?: (value?: TAny) => TAny;\n /**\n * 隐藏 Form.Item,同时清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * ```\n */\n isClear?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 隐藏 Form.Item,不会清除 Form.Item 值\n * ```\n * 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏\n * ```\n */\n hidden?: boolean | ((formValues: TPlainObject) => boolean);\n /**\n * 栅格占位格数,最大值:24\n * ```\n * 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;\n * 2. 父节点使用属性值,当前节点不使用属性值\n * ```\n */\n span?: number;\n\n /** 不支持函数式写法,如果需要使用dependencies获取表单值,可使用FormItemWrapperDependencies 组件 */\n children?: ReactNode;\n\n /**\n * ```\n * 1. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常\n * 2. 在FormItemWrapper中使用 dependencies 逻辑不需要设置 noStyle\n * ```\n */\n noStyle?: boolean;\n };\n\ntype FormItemWrapperChildrenProps = Pick<\n FormItemWrapperProps,\n 'wrapper' | 'after' | 'before' | 'inputNormalize' | 'isClear'\n> & {\n children: ReactElement;\n value?: any;\n onChange?: (value?: any) => any;\n};\n\nconst FormItemWrapperChildren = (props: FormItemWrapperChildrenProps) => {\n const { wrapper, children, inputNormalize, isClear, ...rest } = props;\n // composeProps 合并执行 Form.Item 传的 onChange 以及组件本身的方法\n const hasValue = Object.prototype.hasOwnProperty.call(rest, 'value');\n if (hasValue && inputNormalize) {\n rest['value'] = inputNormalize(rest['value']);\n }\n const _children = cloneElement(\n children,\n composeProps(children.props, rest, true)\n );\n\n fbaHooks.useEffectCustom(() => {\n if (isClear && !isUndefinedOrNull(props.value)) {\n props.onChange?.(undefined);\n }\n }, [isClear, props.value]);\n\n if (wrapper) {\n return wrapper(_children);\n }\n if (props.before || props.after) {\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {props.before ? (\n <span style={{ marginRight: 10 }}>{props.before}</span>\n ) : null}\n <div style={{ flex: 1 }}>{_children}</div>\n {props.after ? (\n <span style={{ marginLeft: 10 }}>{props.after}</span>\n ) : null}\n </div>\n );\n }\n return _children;\n};\n\n/**\n * 对 Form.Item 包装处理\n * ```\n * 1. 为 children 增加 before、after\n * 2. 对输入、输出数据进行序列化处理\n * 3. 内置布局样式使用 preDefinedClassName.formItem\n * 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用\n * 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用\n * 6. 不支持noStyle属性、children不支持函数写法、如果需要获取依赖字段值,可使用 FormItemWrapperDependencies 组件\n * 7. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常\n *\n *\n * ** 依赖其他字段 自身切换显示隐藏 **\n * <FormItemWrapper\n * label=\"label\"\n * name=\"xx1\"\n * dependencies={['type']}\n * isClear={(values) => {\n * return values.type == 1\n * }}>\n * <Input placeholder=\"请输入\" />\n * </FormItemWrapper>\n *\n * 如果只是想获取依赖字段值,可使用 FormItemWrapperDependencies 组件\n * ```\n */\nexport const FormItemWrapper = (props: FormItemWrapperProps) => {\n const {\n wrapper,\n isClear,\n labelWidth,\n labelItemVertical,\n labelAlign,\n children,\n before,\n after,\n inputNormalize,\n outputNormalize,\n className,\n dependencies,\n hidden,\n ...rest\n } = props;\n const form = Form.useFormInstance();\n\n const innerClassName = useMemo(() => {\n return preDefinedClassName.getFormItemLayoutClassName({\n labelWidth,\n labelItemVertical,\n labelAlign,\n className,\n });\n }, [labelWidth, labelItemVertical, labelAlign, className]);\n\n if (dependencies && dependencies?.length > 0) {\n return (\n <Form.Item dependencies={dependencies} noStyle>\n {(innerForm) => {\n const innerHidden =\n typeof hidden === 'function'\n ? hidden?.(innerForm.getFieldsValue())\n : hidden;\n const innerIsClear =\n typeof isClear === 'function'\n ? isClear?.(innerForm.getFieldsValue())\n : isClear;\n let rules = rest.rules;\n if (innerIsClear || innerHidden) {\n rules = [];\n }\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n className={innerClassName}\n hidden={innerIsClear || innerHidden}\n rules={rules}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n }}\n </Form.Item>\n );\n }\n\n const innerHidden =\n typeof hidden === 'function' ? hidden(form.getFieldsValue()) : hidden;\n const innerIsClear =\n typeof isClear === 'function' ? isClear(form.getFieldsValue()) : isClear;\n\n return (\n <Form.Item\n normalize={outputNormalize}\n {...rest}\n className={innerClassName}\n hidden={innerHidden || innerIsClear}\n >\n {isValidElement(children) ? (\n <FormItemWrapperChildren\n wrapper={wrapper}\n before={before}\n after={after}\n inputNormalize={inputNormalize}\n isClear={innerIsClear}\n >\n {children}\n </FormItemWrapperChildren>\n ) : (\n children\n )}\n </Form.Item>\n );\n};\n\nFormItemWrapper['domTypeName'] = 'FormItemWrapper';\n"],"names":["FormItemWrapperChildren","props","wrapper","children","inputNormalize","isClear","rest","_objectWithoutProperties","_excluded","hasValue","Object","prototype","hasOwnProperty","call","_children","cloneElement","composeProps","fbaHooks","useEffectCustom","isUndefinedOrNull","value","_props$onChange","onChange","undefined","before","after","_jsxs","style","display","alignItems","_jsx","marginRight","flex","marginLeft","FormItemWrapper","labelWidth","labelItemVertical","labelAlign","outputNormalize","className","dependencies","hidden","_excluded2","form","Form","useFormInstance","innerClassName","useMemo","preDefinedClassName","getFormItemLayoutClassName","length","Item","noStyle","innerForm","innerHidden","getFieldsValue","innerIsClear","rules","_objectSpread","normalize","isValidElement"],"mappings":"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"}
|
|
@@ -1,85 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ReactElement, ReactNode } from 'react';
|
|
1
|
+
import { FormInstance } from 'antd';
|
|
2
|
+
import { CSSProperties, ReactElement } from 'react';
|
|
4
3
|
|
|
5
|
-
export type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
labelWidth?: "auto" | "70" | "80" | "90" | "100" | "110" | "120" | "130" | "140" | "150" | "160" | "170" | "180" | "190" | "200";
|
|
14
|
-
/** labelItem 竖直布局 */
|
|
15
|
-
labelItemVertical?: boolean;
|
|
16
|
-
/** label 对齐方式 */
|
|
17
|
-
labelAlign?: "left" | "right";
|
|
18
|
-
/**
|
|
19
|
-
* className 中可能会包含 preDefinedClassName.formItem.xx,优先级大于 labelWidth、labelItemVertical、labelAlign
|
|
20
|
-
*/
|
|
4
|
+
export type FormItemWrapperDependenciesProps = {
|
|
5
|
+
children?: (form: FormInstance, otherProps: {
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
className?: string;
|
|
8
|
+
}) => ReactElement;
|
|
9
|
+
dependencies: any[];
|
|
21
10
|
className?: string;
|
|
22
|
-
|
|
23
|
-
export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNameProps & {
|
|
24
|
-
wrapper?: (children: ReactNode) => ReactElement;
|
|
25
|
-
/** 设置wrapper后,before、after失效 */
|
|
26
|
-
before?: ReactNode;
|
|
27
|
-
/** 设置wrapper后,before、after失效 */
|
|
28
|
-
after?: ReactNode;
|
|
29
|
-
/** value 序列化处理 */
|
|
30
|
-
inputNormalize?: (value?: TAny) => TAny;
|
|
31
|
-
/**
|
|
32
|
-
* onChange 参数序列化处理
|
|
33
|
-
* 如果设置 normalize 属性,outputNormalize将失效
|
|
34
|
-
*/
|
|
35
|
-
outputNormalize?: (value?: TAny) => TAny;
|
|
36
|
-
/** 是否清除 Form.Item */
|
|
37
|
-
isClear?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* 栅格占位格数,最大值:24
|
|
40
|
-
* ```
|
|
41
|
-
* 1. 当 FormItemWrapper 处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
span?: number;
|
|
45
|
-
};
|
|
46
|
-
export type FormItemWrapperDependenciesProps = Omit<FormItemWrapperProps, "hidden" | "isClear"> & {
|
|
47
|
-
hidden?: (values: TPlainObject, form: FormInstance) => boolean;
|
|
48
|
-
isClear?: (values: TPlainObject, form: FormInstance) => boolean;
|
|
11
|
+
style?: CSSProperties;
|
|
49
12
|
};
|
|
50
13
|
/**
|
|
51
|
-
*
|
|
52
|
-
* ```
|
|
53
|
-
* 1. 需要设置dependencies属性,实现显示隐藏能力
|
|
54
|
-
* 2. dependencies表示依赖于谁
|
|
55
|
-
* 3. 结果有两种情况
|
|
56
|
-
* 3.1. 只想隐藏字段,不想清除字段值;使用hidden
|
|
57
|
-
* 3.2. 隐藏字段,同时清除字段值;使用 isClear
|
|
14
|
+
* FormItem依赖写法包装,当处在EasyForm内部时,不支持 <Form.Item dependencies={['xxx']} noStyle /> 此写法,使用 <FormItemWrapperDependencies dependencies={['xxx']} /> 代替
|
|
58
15
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
16
|
+
* ```
|
|
17
|
+
* 例如:(其中 otherProps 中 style、className透传是必要的)
|
|
18
|
+
* <FormItemWrapperDependencies dependencies={['xx2']}>
|
|
19
|
+
* {(_form, otherProps) => {
|
|
20
|
+
* return (
|
|
21
|
+
* <FormItemWrapper
|
|
22
|
+
* name="xxxxx"
|
|
23
|
+
* label="xx1"
|
|
24
|
+
* style={otherProps.style}
|
|
25
|
+
* className={otherProps.className}
|
|
26
|
+
* >
|
|
27
|
+
* <Input />
|
|
28
|
+
* </FormItemWrapper>
|
|
29
|
+
* );
|
|
72
30
|
* }}
|
|
73
|
-
* name={'xx2'}
|
|
74
|
-
* label="备注"
|
|
75
|
-
* >
|
|
76
|
-
* <Input.TextArea placeholder="请输入" />
|
|
77
31
|
* </FormItemWrapperDependencies>
|
|
32
|
+
*
|
|
33
|
+
*
|
|
34
|
+
* 说明:
|
|
35
|
+
* 透传style、className 是因为在EasyForm内部的BoxGrid组件下发的style、className在配置了noStyle后Form.Item不接收导致的
|
|
36
|
+
*
|
|
78
37
|
* ```
|
|
79
38
|
*/
|
|
80
|
-
export declare const FormItemWrapperDependencies:
|
|
81
|
-
(props: FormItemWrapperDependenciesProps): import("react").JSX.Element;
|
|
82
|
-
domTypeName: string;
|
|
83
|
-
};
|
|
39
|
+
export declare const FormItemWrapperDependencies: (props: FormItemWrapperDependenciesProps) => import("react").JSX.Element;
|
|
84
40
|
|
|
85
41
|
export {};
|
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
-
import './../fba-hooks/index.css';
|
|
3
|
-
import './../pre-defined-class-name/index.css';
|
|
4
2
|
import './index.css';
|
|
5
3
|
/*! @flatjs/forge MIT @flatbiz/antd */
|
|
6
4
|
|
|
7
|
-
export { F as FormItemWrapperDependencies } from '../dependencies-
|
|
5
|
+
export { F as FormItemWrapperDependencies } from '../dependencies-DbCKAltG.js';
|
|
8
6
|
import '../_rollupPluginBabelHelpers-BYm17lo8.js';
|
|
9
|
-
import '../form-item-wrapper-DHRbunEm.js';
|
|
10
|
-
import 'react';
|
|
11
7
|
import 'antd';
|
|
12
|
-
import '@flatbiz/utils';
|
|
13
|
-
import '../fba-hooks/index.js';
|
|
14
|
-
import '@wove/react/hooks';
|
|
15
|
-
import '../use-responsive-point-Bp3D3lZT.js';
|
|
16
|
-
import '../pre-defined-class-name/index.js';
|
|
17
|
-
import '@dimjs/utils/class-names/class-names';
|
|
18
8
|
import 'react/jsx-runtime';
|
|
19
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -374,6 +374,14 @@ export type BoxColProps = {
|
|
|
374
374
|
xl?: number;
|
|
375
375
|
/** 屏幕 ≥ 1600px */
|
|
376
376
|
xxl?: number;
|
|
377
|
+
/**
|
|
378
|
+
* 是否移除 外部包装div
|
|
379
|
+
* ```
|
|
380
|
+
* 1. 如果children 为数组,则此配置不生效
|
|
381
|
+
* 2. 如果移除,会在children中添加style和className(所以children组件必须要有style、className属性)
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
removeWrapper?: boolean;
|
|
377
385
|
};
|
|
378
386
|
export declare const BoxGrid: {
|
|
379
387
|
/**
|
|
@@ -996,7 +1004,7 @@ export type TFormItemLayoutPreClassNameProps = {
|
|
|
996
1004
|
*/
|
|
997
1005
|
className?: string;
|
|
998
1006
|
};
|
|
999
|
-
export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNameProps & {
|
|
1007
|
+
export type FormItemWrapperProps = Omit<FormItemProps, "hidden" | "children" | "noStyle"> & TFormItemLayoutPreClassNameProps & {
|
|
1000
1008
|
wrapper?: (children: ReactNode) => ReactElement;
|
|
1001
1009
|
/** 设置wrapper后,before、after失效 */
|
|
1002
1010
|
before?: ReactNode;
|
|
@@ -1009,15 +1017,37 @@ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNamePr
|
|
|
1009
1017
|
* 如果设置 normalize 属性,outputNormalize将失效
|
|
1010
1018
|
*/
|
|
1011
1019
|
outputNormalize?: (value?: TAny) => TAny;
|
|
1012
|
-
/**
|
|
1013
|
-
|
|
1020
|
+
/**
|
|
1021
|
+
* 隐藏 Form.Item,同时清除 Form.Item 值
|
|
1022
|
+
* ```
|
|
1023
|
+
* 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏
|
|
1024
|
+
* ```
|
|
1025
|
+
*/
|
|
1026
|
+
isClear?: boolean | ((formValues: TPlainObject) => boolean);
|
|
1027
|
+
/**
|
|
1028
|
+
* 隐藏 Form.Item,不会清除 Form.Item 值
|
|
1029
|
+
* ```
|
|
1030
|
+
* 1.与 dependencies 属性配合使用,可实现当前FormItemWrapper的显示隐藏
|
|
1031
|
+
* ```
|
|
1032
|
+
*/
|
|
1033
|
+
hidden?: boolean | ((formValues: TPlainObject) => boolean);
|
|
1014
1034
|
/**
|
|
1015
1035
|
* 栅格占位格数,最大值:24
|
|
1016
1036
|
* ```
|
|
1017
|
-
* 1.
|
|
1037
|
+
* 1. 当前FormItemWrapper处在 EasyForm 直接子节点中有效,即FormItemWrapper在EasyForm栅格中的占位格数;
|
|
1038
|
+
* 2. 父节点使用属性值,当前节点不使用属性值
|
|
1018
1039
|
* ```
|
|
1019
1040
|
*/
|
|
1020
1041
|
span?: number;
|
|
1042
|
+
/** 不支持函数式写法,如果需要使用dependencies获取表单值,可使用FormItemWrapperDependencies 组件 */
|
|
1043
|
+
children?: ReactNode;
|
|
1044
|
+
/**
|
|
1045
|
+
* ```
|
|
1046
|
+
* 1. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常
|
|
1047
|
+
* 2. 在FormItemWrapper中使用 dependencies 逻辑不需要设置 noStyle
|
|
1048
|
+
* ```
|
|
1049
|
+
*/
|
|
1050
|
+
noStyle?: boolean;
|
|
1021
1051
|
};
|
|
1022
1052
|
/**
|
|
1023
1053
|
* 对 Form.Item 包装处理
|
|
@@ -1025,8 +1055,24 @@ export type FormItemWrapperProps = FormItemProps & TFormItemLayoutPreClassNamePr
|
|
|
1025
1055
|
* 1. 为 children 增加 before、after
|
|
1026
1056
|
* 2. 对输入、输出数据进行序列化处理
|
|
1027
1057
|
* 3. 内置布局样式使用 preDefinedClassName.formItem
|
|
1028
|
-
* 4. 设置隐藏域(不清除字段值) 使用hidden
|
|
1029
|
-
* 5. 设置隐藏域(清除字段值)使用isClear
|
|
1058
|
+
* 4. 设置隐藏域(不清除字段值) 使用hidden,存在依赖逻辑,可与dependencies属性配合使用
|
|
1059
|
+
* 5. 设置隐藏域(清除字段值)使用isClear,存在依赖逻辑,可与dependencies属性配合使用
|
|
1060
|
+
* 6. 不支持noStyle属性、children不支持函数写法、如果需要获取依赖字段值,可使用 FormItemWrapperDependencies 组件
|
|
1061
|
+
* 7. 设置noStyle后,可能会导致 FromItemWrapper 在 EasyFrom 内部渲染网格布局时出现异常
|
|
1062
|
+
*
|
|
1063
|
+
*
|
|
1064
|
+
* ** 依赖其他字段 自身切换显示隐藏 **
|
|
1065
|
+
* <FormItemWrapper
|
|
1066
|
+
* label="label"
|
|
1067
|
+
* name="xx1"
|
|
1068
|
+
* dependencies={['type']}
|
|
1069
|
+
* isClear={(values) => {
|
|
1070
|
+
* return values.type == 1
|
|
1071
|
+
* }}>
|
|
1072
|
+
* <Input placeholder="请输入" />
|
|
1073
|
+
* </FormItemWrapper>
|
|
1074
|
+
*
|
|
1075
|
+
* 如果只是想获取依赖字段值,可使用 FormItemWrapperDependencies 组件
|
|
1030
1076
|
* ```
|
|
1031
1077
|
*/
|
|
1032
1078
|
export declare const FormItemWrapper: {
|
|
@@ -1408,6 +1454,14 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
|
|
|
1408
1454
|
* true: 当前EasyForm组件不使用Antd Form包裹,可在Form、EasyForm、FormWrapper内部使用
|
|
1409
1455
|
*/
|
|
1410
1456
|
nonuseFormWrapper?: boolean;
|
|
1457
|
+
/**
|
|
1458
|
+
* 栅格占位格数,最大值:24
|
|
1459
|
+
* ```
|
|
1460
|
+
* 1. 当前EasyForm处在 EasyForm 直接子节点中有效,即当前EasyForm在EasyForm栅格中的占位格数;
|
|
1461
|
+
* 2. 父节点使用属性值,当前节点不使用属性值
|
|
1462
|
+
* ```
|
|
1463
|
+
*/
|
|
1464
|
+
span?: number;
|
|
1411
1465
|
};
|
|
1412
1466
|
/**
|
|
1413
1467
|
* 简单Form布局,可自定义网格布局
|
|
@@ -1457,7 +1511,10 @@ export type EasyFormProps = Omit<FormWrapperProps, "children"> & {
|
|
|
1457
1511
|
* </EasyForm>
|
|
1458
1512
|
* ```
|
|
1459
1513
|
*/
|
|
1460
|
-
export declare const EasyForm:
|
|
1514
|
+
export declare const EasyForm: {
|
|
1515
|
+
(props: EasyFormProps): import("react").JSX.Element;
|
|
1516
|
+
domTypeName: string;
|
|
1517
|
+
};
|
|
1461
1518
|
export type EditableCardDataIndex = string | string[];
|
|
1462
1519
|
export interface EditableCardOperation {
|
|
1463
1520
|
index: number;
|
|
@@ -3582,6 +3639,8 @@ export declare const FormItemGroup: {
|
|
|
3582
3639
|
};
|
|
3583
3640
|
export type FormItemHiddenProps = {
|
|
3584
3641
|
name: FormItemProps["name"];
|
|
3642
|
+
className?: string;
|
|
3643
|
+
style?: CSSProperties;
|
|
3585
3644
|
};
|
|
3586
3645
|
export declare const FormItemHidden: {
|
|
3587
3646
|
(props: FormItemHiddenProps): import("react").JSX.Element;
|
|
@@ -3590,6 +3649,10 @@ export declare const FormItemHidden: {
|
|
|
3590
3649
|
export type FormItemSpanProps = {
|
|
3591
3650
|
span?: number;
|
|
3592
3651
|
children?: ReactNode;
|
|
3652
|
+
className?: string;
|
|
3653
|
+
style?: CSSProperties;
|
|
3654
|
+
/** 是否移除 */
|
|
3655
|
+
hidden?: boolean;
|
|
3593
3656
|
};
|
|
3594
3657
|
/**
|
|
3595
3658
|
* 包裹EasyForm children item元素, 设置自定义栅格占位格数(使用在EasyForm一级子节点下生效)
|
|
@@ -3614,6 +3677,7 @@ export type FormItemSpanProps = {
|
|
|
3614
3677
|
* </CardLayout>
|
|
3615
3678
|
* </FormItemSpan>
|
|
3616
3679
|
* </EasyForm>
|
|
3680
|
+
* 4. 处在EasyFrom直接子节点时hidden、span属性生效
|
|
3617
3681
|
* ```
|
|
3618
3682
|
*/
|
|
3619
3683
|
export declare const FormItemSpan: {
|
|
@@ -3693,44 +3757,42 @@ export declare const FormItemText: {
|
|
|
3693
3757
|
(props: FormItemTextProps): import("react").JSX.Element;
|
|
3694
3758
|
domTypeName: string;
|
|
3695
3759
|
};
|
|
3696
|
-
export type FormItemWrapperDependenciesProps =
|
|
3697
|
-
|
|
3698
|
-
|
|
3760
|
+
export type FormItemWrapperDependenciesProps = {
|
|
3761
|
+
children?: (form: FormInstance, otherProps: {
|
|
3762
|
+
style?: CSSProperties;
|
|
3763
|
+
className?: string;
|
|
3764
|
+
}) => ReactElement;
|
|
3765
|
+
dependencies: any[];
|
|
3766
|
+
className?: string;
|
|
3767
|
+
style?: CSSProperties;
|
|
3699
3768
|
};
|
|
3700
3769
|
/**
|
|
3701
|
-
*
|
|
3702
|
-
* ```
|
|
3703
|
-
* 1. 需要设置dependencies属性,实现显示隐藏能力
|
|
3704
|
-
* 2. dependencies表示依赖于谁
|
|
3705
|
-
* 3. 结果有两种情况
|
|
3706
|
-
* 3.1. 只想隐藏字段,不想清除字段值;使用hidden
|
|
3707
|
-
* 3.2. 隐藏字段,同时清除字段值;使用 isClear
|
|
3770
|
+
* FormItem依赖写法包装,当处在EasyForm内部时,不支持 <Form.Item dependencies={['xxx']} noStyle /> 此写法,使用 <FormItemWrapperDependencies dependencies={['xxx']} /> 代替
|
|
3708
3771
|
*
|
|
3709
|
-
*
|
|
3710
|
-
*
|
|
3711
|
-
*
|
|
3712
|
-
*
|
|
3713
|
-
*
|
|
3714
|
-
*
|
|
3715
|
-
*
|
|
3716
|
-
*
|
|
3717
|
-
*
|
|
3718
|
-
*
|
|
3719
|
-
*
|
|
3720
|
-
*
|
|
3721
|
-
*
|
|
3772
|
+
* ```
|
|
3773
|
+
* 例如:(其中 otherProps 中 style、className透传是必要的)
|
|
3774
|
+
* <FormItemWrapperDependencies dependencies={['xx2']}>
|
|
3775
|
+
* {(_form, otherProps) => {
|
|
3776
|
+
* return (
|
|
3777
|
+
* <FormItemWrapper
|
|
3778
|
+
* name="xxxxx"
|
|
3779
|
+
* label="xx1"
|
|
3780
|
+
* style={otherProps.style}
|
|
3781
|
+
* className={otherProps.className}
|
|
3782
|
+
* >
|
|
3783
|
+
* <Input />
|
|
3784
|
+
* </FormItemWrapper>
|
|
3785
|
+
* );
|
|
3722
3786
|
* }}
|
|
3723
|
-
* name={'xx2'}
|
|
3724
|
-
* label="备注"
|
|
3725
|
-
* >
|
|
3726
|
-
* <Input.TextArea placeholder="请输入" />
|
|
3727
3787
|
* </FormItemWrapperDependencies>
|
|
3788
|
+
*
|
|
3789
|
+
*
|
|
3790
|
+
* 说明:
|
|
3791
|
+
* 透传style、className 是因为在EasyForm内部的BoxGrid组件下发的style、className在配置了noStyle后Form.Item不接收导致的
|
|
3792
|
+
*
|
|
3728
3793
|
* ```
|
|
3729
3794
|
*/
|
|
3730
|
-
export declare const FormItemWrapperDependencies:
|
|
3731
|
-
(props: FormItemWrapperDependenciesProps): import("react").JSX.Element;
|
|
3732
|
-
domTypeName: string;
|
|
3733
|
-
};
|
|
3795
|
+
export declare const FormItemWrapperDependencies: (props: FormItemWrapperDependenciesProps) => import("react").JSX.Element;
|
|
3734
3796
|
export type FormListWrapperContentProps = {
|
|
3735
3797
|
/** Form.List item fieldData */
|
|
3736
3798
|
formListFieldData: FormListFieldData;
|