@next-bricks/form 1.21.11 → 1.21.13

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.
Files changed (92) hide show
  1. package/dist/bricks.json +35 -35
  2. package/dist/chunks/2537.be4cf82c.js.map +1 -1
  3. package/dist/chunks/845.2f598dd9.js +3 -0
  4. package/dist/chunks/845.2f598dd9.js.map +1 -0
  5. package/dist/chunks/{9949.753e2720.js → 9949.3d28a915.js} +3 -3
  6. package/dist/chunks/9949.3d28a915.js.map +1 -0
  7. package/dist/chunks/eo-auto-complete.0ed854e4.js.map +1 -1
  8. package/dist/chunks/eo-checkbox.2d0a8dbc.js.map +1 -1
  9. package/dist/chunks/eo-color-picker.ecf0c4c0.js.map +1 -1
  10. package/dist/chunks/eo-date-picker.faa60507.js.map +1 -1
  11. package/dist/chunks/eo-dynamic-form-item.aa5f7d9e.js.map +1 -1
  12. package/dist/chunks/eo-form.9db78cdb.js.map +1 -1
  13. package/dist/chunks/eo-icon-select.6a7f7e12.js +3 -0
  14. package/dist/chunks/eo-icon-select.6a7f7e12.js.map +1 -0
  15. package/dist/chunks/eo-radio.b2ed57db.js.map +1 -1
  16. package/dist/chunks/eo-search.206dd65e.js.map +1 -1
  17. package/dist/chunks/eo-select.cd00c791.js.map +1 -1
  18. package/dist/chunks/eo-switch.f0a27c08.js.map +1 -1
  19. package/dist/chunks/eo-textarea.405851dd.js.map +1 -1
  20. package/dist/chunks/eo-time-picker.46e7a667.js.map +1 -1
  21. package/dist/chunks/eo-time-range-picker.5afbad69.js.map +1 -1
  22. package/dist/chunks/eo-upload-file.27a4288d.js.map +1 -1
  23. package/dist/chunks/eo-upload-image.b43c2329.js.map +1 -1
  24. package/dist/chunks/{main.8c394d3e.js → main.59f7a796.js} +2 -2
  25. package/dist/chunks/{main.8c394d3e.js.map → main.59f7a796.js.map} +1 -1
  26. package/dist/examples.json +27 -24
  27. package/dist/index.2c92cf90.js +2 -0
  28. package/dist/{index.7917bac6.js.map → index.2c92cf90.js.map} +1 -1
  29. package/dist/manifest.json +451 -385
  30. package/dist/types.json +2699 -2649
  31. package/dist-types/auto-complete/index.d.ts +4 -0
  32. package/dist-types/checkbox/index.d.ts +2 -2
  33. package/dist-types/color-picker/index.d.ts +2 -1
  34. package/dist-types/date-picker/index.d.ts +1 -1
  35. package/dist-types/form/index.d.ts +16 -1
  36. package/dist-types/form-item/index.d.ts +31 -2
  37. package/dist-types/general-switch/index.d.ts +1 -1
  38. package/dist-types/icon-select/index.d.ts +1 -1
  39. package/dist-types/input/index.d.ts +2 -2
  40. package/dist-types/radio/index.d.ts +4 -4
  41. package/dist-types/select/index.d.ts +1 -0
  42. package/dist-types/textarea/index.d.ts +1 -1
  43. package/dist-types/time-range-picker/index.d.ts +7 -4
  44. package/dist-types/upload/upload-file/index.d.ts +1 -1
  45. package/docs/eo-auto-complete.md +158 -8
  46. package/docs/eo-auto-complete.react.md +229 -0
  47. package/docs/eo-checkbox.md +107 -4
  48. package/docs/eo-checkbox.react.md +369 -0
  49. package/docs/eo-color-picker.md +102 -22
  50. package/docs/eo-color-picker.react.md +160 -0
  51. package/docs/eo-date-picker.md +82 -50
  52. package/docs/eo-date-picker.react.md +146 -0
  53. package/docs/eo-dynamic-form-item.md +60 -15
  54. package/docs/eo-dynamic-form-item.react.md +186 -0
  55. package/docs/eo-form-item.md +194 -0
  56. package/docs/eo-form-item.react.md +163 -0
  57. package/docs/eo-form.md +144 -3
  58. package/docs/eo-form.react.md +330 -0
  59. package/docs/eo-icon-select.md +80 -1
  60. package/docs/eo-icon-select.react.md +97 -0
  61. package/docs/eo-input.md +147 -22
  62. package/docs/eo-input.react.md +275 -0
  63. package/docs/eo-radio.md +145 -8
  64. package/docs/eo-radio.react.md +492 -0
  65. package/docs/eo-search.md +94 -1
  66. package/docs/eo-search.react.md +122 -0
  67. package/docs/eo-select.md +157 -9
  68. package/docs/eo-select.react.md +411 -0
  69. package/docs/eo-submit-buttons.md +120 -7
  70. package/docs/eo-submit-buttons.react.md +129 -0
  71. package/docs/eo-switch.md +57 -3
  72. package/docs/eo-switch.react.md +136 -0
  73. package/docs/eo-textarea.md +101 -22
  74. package/docs/eo-textarea.react.md +193 -0
  75. package/docs/eo-time-picker.md +70 -42
  76. package/docs/eo-time-picker.react.md +106 -0
  77. package/docs/eo-time-range-picker.md +89 -35
  78. package/docs/eo-time-range-picker.react.md +163 -0
  79. package/docs/eo-upload-file.md +101 -9
  80. package/docs/eo-upload-file.react.md +126 -0
  81. package/docs/eo-upload-image.md +70 -6
  82. package/docs/eo-upload-image.react.md +92 -0
  83. package/package.json +2 -2
  84. package/dist/chunks/845.c8b5b1e8.js +0 -3
  85. package/dist/chunks/845.c8b5b1e8.js.map +0 -1
  86. package/dist/chunks/9949.753e2720.js.map +0 -1
  87. package/dist/chunks/eo-icon-select.6ea15888.js +0 -3
  88. package/dist/chunks/eo-icon-select.6ea15888.js.map +0 -1
  89. package/dist/index.7917bac6.js +0 -2
  90. /package/dist/chunks/{845.c8b5b1e8.js.LICENSE.txt → 845.2f598dd9.js.LICENSE.txt} +0 -0
  91. /package/dist/chunks/{9949.753e2720.js.LICENSE.txt → 9949.3d28a915.js.LICENSE.txt} +0 -0
  92. /package/dist/chunks/{eo-icon-select.6ea15888.js.LICENSE.txt → eo-icon-select.6a7f7e12.js.LICENSE.txt} +0 -0
package/docs/eo-switch.md CHANGED
@@ -1,4 +1,35 @@
1
- 开关构件
1
+ ---
2
+ tagName: eo-switch
3
+ displayName: WrappedEoSwitch
4
+ description: 开关
5
+ category: form-input-basic
6
+ source: "@next-bricks/form"
7
+ ---
8
+
9
+ # eo-switch
10
+
11
+ > 开关
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ------------- | ---------------------- | ---- | ------ | -------------------------------------------- |
17
+ | name | `string` | 否 | - | 字段名称 |
18
+ | label | `string` | 否 | - | 字段文本 |
19
+ | value | `boolean` | 否 | - | 初始值 |
20
+ | disabled | `boolean` | 否 | - | 是否禁用 |
21
+ | size | `ComponentSize` | 否 | - | 按钮大小,目前只支持small和非small两种大小。 |
22
+ | checkedText | `string` | 否 | - | 选中时的文本 |
23
+ | unCheckedText | `string` | 否 | - | 非选中时的文本 |
24
+ | checkedIcon | `GeneralIconProps` | 否 | - | 选中时的图标 |
25
+ | unCheckedIcon | `GeneralIconProps` | 否 | - | 非选中时的图标 |
26
+ | themeVariant | `"default" \| "elevo"` | 否 | - | 主题变体 |
27
+
28
+ ## Events
29
+
30
+ | 事件 | detail | 说明 |
31
+ | ------ | ------------------------------------------------------- | -------------- |
32
+ | switch | `boolean` — 开关当前状态,true 表示开启,false 表示关闭 | 开关改变时触发 |
2
33
 
3
34
  ## Examples
4
35
 
@@ -25,7 +56,18 @@
25
56
  label: switch
26
57
  ```
27
58
 
28
- ### disabled
59
+ ### Value
60
+
61
+ 通过 `value` 属性设置开关的初始状态。
62
+
63
+ ```yaml preview
64
+ - brick: eo-switch
65
+ properties:
66
+ value: true
67
+ label: switch
68
+ ```
69
+
70
+ ### Disabled
29
71
 
30
72
  ```yaml preview
31
73
  - brick: eo-switch
@@ -35,7 +77,7 @@
35
77
  label: switch
36
78
  ```
37
79
 
38
- ### size
80
+ ### Size
39
81
 
40
82
  ```yaml preview
41
83
  - brick: eo-switch
@@ -48,6 +90,8 @@
48
90
 
49
91
  ### Customizations
50
92
 
93
+ 通过 `checkedText`、`unCheckedText`、`checkedIcon`、`unCheckedIcon` 属性自定义开关的文本和图标。
94
+
51
95
  ```yaml preview
52
96
  - brick: eo-switch
53
97
  properties:
@@ -65,6 +109,16 @@
65
109
  lib: antd
66
110
  ```
67
111
 
112
+ ### Theme Variant
113
+
114
+ ```yaml preview
115
+ - brick: eo-switch
116
+ properties:
117
+ themeVariant: elevo
118
+ label: switch
119
+ value: true
120
+ ```
121
+
68
122
  ### Event
69
123
 
70
124
  ```yaml preview
@@ -0,0 +1,136 @@
1
+ ---
2
+ tagName: eo-switch
3
+ displayName: WrappedEoSwitch
4
+ description: 开关
5
+ category: form-input-basic
6
+ source: "@next-bricks/form"
7
+ ---
8
+
9
+ # WrappedEoSwitch
10
+
11
+ > 开关
12
+
13
+ ## 导入
14
+
15
+ ```ts
16
+ import { WrappedEoSwitch } from "@next-bricks/form/eo-switch";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ------------- | ---------------------- | ---- | ------ | -------------------------------------------- |
23
+ | name | `string` | 否 | - | 字段名称 |
24
+ | label | `string` | 否 | - | 字段文本 |
25
+ | value | `boolean` | 否 | - | 初始值 |
26
+ | disabled | `boolean` | 否 | - | 是否禁用 |
27
+ | size | `ComponentSize` | 否 | - | 按钮大小,目前只支持small和非small两种大小。 |
28
+ | checkedText | `string` | 否 | - | 选中时的文本 |
29
+ | unCheckedText | `string` | 否 | - | 非选中时的文本 |
30
+ | checkedIcon | `GeneralIconProps` | 否 | - | 选中时的图标 |
31
+ | unCheckedIcon | `GeneralIconProps` | 否 | - | 非选中时的图标 |
32
+ | themeVariant | `"default" \| "elevo"` | 否 | - | 主题变体 |
33
+
34
+ ## Events
35
+
36
+ | 事件 | detail | 说明 |
37
+ | -------- | ------------------------------------------------------- | -------------- |
38
+ | onSwitch | `boolean` — 开关当前状态,true 表示开启,false 表示关闭 | 开关改变时触发 |
39
+
40
+ ## Examples
41
+
42
+ ### Basic
43
+
44
+ ```tsx preview
45
+ <WrappedEoSwitch disabled={false} onSwitch={(value) => console.log(value)} />
46
+ ```
47
+
48
+ ### Label
49
+
50
+ ```tsx preview
51
+ <WrappedEoSwitch
52
+ disabled={false}
53
+ label="switch"
54
+ onSwitch={(value) => console.log(value)}
55
+ />
56
+ ```
57
+
58
+ ### Value
59
+
60
+ 通过 `value` 属性设置开关的初始状态。
61
+
62
+ ```tsx preview
63
+ <WrappedEoSwitch value={true} label="switch" />
64
+ ```
65
+
66
+ ### Disabled
67
+
68
+ ```tsx preview
69
+ <WrappedEoSwitch disabled={true} value={true} label="switch" />
70
+ ```
71
+
72
+ ### Size
73
+
74
+ ```tsx preview
75
+ <WrappedEoSwitch disabled={false} value={true} label="switch" size="small" />
76
+ ```
77
+
78
+ ### Customizations
79
+
80
+ 通过 `checkedText`、`unCheckedText`、`checkedIcon`、`unCheckedIcon` 属性自定义开关的文本和图标。
81
+
82
+ ```tsx preview
83
+ <WrappedEoSwitch
84
+ checkedText="123"
85
+ unCheckedText="456"
86
+ disabled={false}
87
+ size="small"
88
+ label="text"
89
+ checkedIcon={{ icon: "plus-circle", lib: "antd", theme: "outlined" }}
90
+ unCheckedIcon={{ icon: "plus-circle", lib: "antd" }}
91
+ />
92
+ ```
93
+
94
+ ### Theme Variant
95
+
96
+ ```tsx preview
97
+ <WrappedEoSwitch themeVariant="elevo" label="switch" value={true} />
98
+ ```
99
+
100
+ ### Event
101
+
102
+ ```tsx preview
103
+ function Demo() {
104
+ const [switchValue, setSwitchValue] = useState(false);
105
+ return (
106
+ <div>
107
+ <WrappedEoSwitch
108
+ disabled={false}
109
+ onSwitch={(value) => {
110
+ console.log(value);
111
+ setSwitchValue(value);
112
+ }}
113
+ />
114
+ <p>当前状态: {switchValue ? "开启" : "关闭"}</p>
115
+ </div>
116
+ );
117
+ }
118
+ ```
119
+
120
+ ### With Form
121
+
122
+ ```tsx preview
123
+ function Demo() {
124
+ const formRef = useRef(null);
125
+ return (
126
+ <WrappedEoForm
127
+ ref={formRef}
128
+ onValidateSuccess={(values) => console.log(values)}
129
+ onValuesChange={(values) => console.log(values)}
130
+ >
131
+ <WrappedEoSwitch name="switch" label="开关" />
132
+ <WrappedEoSubmitButtons />
133
+ </WrappedEoForm>
134
+ );
135
+ }
136
+ ```
@@ -1,55 +1,109 @@
1
- 表单多行文本输入框构件。
2
-
3
- ```yaml preview
4
- - brick: eo-textarea
5
- ```
1
+ ---
2
+ tagName: eo-textarea
3
+ displayName: WrappedEoTextarea
4
+ description: 通用多行文本输入框构件
5
+ category: form-input-basic
6
+ source: "@next-bricks/form"
7
+ ---
8
+
9
+ # eo-textarea
10
+
11
+ > 通用多行文本输入框构件
12
+
13
+ ## Props
14
+
15
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
16
+ | ------------- | ------------------------ | ---- | ------ | --------------------------------------------------------------------------- |
17
+ | name | `string` | 否 | - | 字段名称 |
18
+ | label | `string` | 否 | - | 标签文字 |
19
+ | value | `string` | 否 | - | 值 |
20
+ | placeholder | `string` | 否 | - | 占位说明 |
21
+ | disabled | `boolean` | 否 | - | 是否禁用 |
22
+ | minLength | `number` | 否 | - | 最小长度 |
23
+ | maxLength | `number` | 否 | - | 最大长度 |
24
+ | autoSize | `AutoSize` | 否 | - | 大小自适应 |
25
+ | required | `boolean` | 否 | - | 是否必填 |
26
+ | max | `number` | 否 | - | 表单校验最大长度 |
27
+ | min | `number` | 否 | - | 表单校验最小长度 |
28
+ | message | `Record<string, string>` | 否 | - | 校验信息 |
29
+ | textareaStyle | `React.CSSProperties` | 否 | - | 自定义样式 |
30
+ | variant | `"default" \| "muted"` | 否 | - | 变体。`muted`:在 themeVariant 为 elevo 时可用,设置时输入框没有 box-shadow |
31
+ | themeVariant | `"default" \| "elevo"` | 否 | - | 主题变体 |
32
+
33
+ ## Events
34
+
35
+ | 事件 | detail | 说明 |
36
+ | ------ | --------------------- | ---------- |
37
+ | change | `string` — 当前输入值 | 值改变事件 |
38
+
39
+ ## Methods
40
+
41
+ | 方法 | 说明 |
42
+ | --------------- | ---------------- |
43
+ | focusTextarea() | 使文本域获得焦点 |
6
44
 
7
45
  ## Examples
8
46
 
9
- ### Label
47
+ ### Basic
48
+
49
+ 展示多行文本输入框的最基本用法。
10
50
 
11
51
  ```yaml preview
12
52
  - brick: eo-textarea
13
53
  properties:
14
54
  label: 多行输入框
55
+ placeholder: 请输入内容
15
56
  ```
16
57
 
17
58
  ### Value
18
59
 
60
+ 通过 `value` 属性设置文本域的默认值。
61
+
19
62
  ```yaml preview
20
63
  - brick: eo-textarea
21
64
  properties:
65
+ label: 默认值
22
66
  value: Default Value
23
67
  ```
24
68
 
25
69
  ### Disabled
26
70
 
71
+ 设置 `disabled` 属性禁用文本域。
72
+
27
73
  ```yaml preview
28
74
  - brick: eo-textarea
29
75
  properties:
76
+ label: 禁用状态
30
77
  value: Default Value
31
78
  disabled: true
32
79
  ```
33
80
 
34
81
  ### Placeholder
35
82
 
83
+ 通过 `placeholder` 属性设置文本域的占位提示文字。
84
+
36
85
  ```yaml preview
37
86
  - brick: eo-textarea
38
87
  properties:
39
88
  placeholder: This is placeholder...
40
89
  ```
41
90
 
42
- ### max length
91
+ ### MaxLength
92
+
93
+ 通过 `maxLength` 属性限制输入的最大字符数。
43
94
 
44
95
  ```yaml preview
45
96
  - brick: eo-textarea
46
97
  properties:
98
+ label: 最大长度
47
99
  placeholder: max length = 10
48
100
  maxLength: 10
49
101
  ```
50
102
 
51
103
  ### AutoSize
52
104
 
105
+ 通过 `autoSize` 属性让文本域高度随内容自动调整,支持设置 `minRows` 和 `maxRows` 限制行数范围。
106
+
53
107
  ```yaml preview
54
108
  - brick: eo-textarea
55
109
  properties:
@@ -57,18 +111,20 @@
57
111
  autoSize: true
58
112
  - brick: eo-textarea
59
113
  properties:
60
- placeholder: "autoSize: { minRows: 3}"
114
+ placeholder: "autoSize: { minRows: 3 }"
61
115
  autoSize:
62
116
  minRows: 3
63
117
  - brick: eo-textarea
64
118
  properties:
65
- placeholder: "autoSize: { minRows: 3, maxRows: 5}"
119
+ placeholder: "autoSize: { minRows: 3, maxRows: 5 }"
66
120
  autoSize:
67
121
  minRows: 3
68
122
  maxRows: 5
69
123
  ```
70
124
 
71
- ### Textarea Style
125
+ ### TextareaStyle
126
+
127
+ 通过 `textareaStyle` 属性自定义文本域的内联样式。
72
128
 
73
129
  ```yaml preview
74
130
  - brick: eo-textarea
@@ -88,28 +144,26 @@
88
144
  border: "1px solid #8b2121"
89
145
  ```
90
146
 
91
- ### Event
147
+ ### Events
148
+
149
+ 监听 `change` 事件获取用户输入的实时值。
92
150
 
93
151
  ```yaml preview
94
152
  - brick: eo-textarea
95
- events:
153
+ properties:
96
154
  label: Event
155
+ placeholder: 请输入内容
156
+ events:
97
157
  change:
98
158
  action: message.success
99
159
  args:
100
160
  - <% EVENT.detail %>
101
- focus:
102
- action: message.success
103
- args:
104
- - focus
105
- blur:
106
- action: message.success
107
- args:
108
- - blur
109
161
  ```
110
162
 
111
163
  ### With Form
112
164
 
165
+ 在 `eo-form` 中使用,通过 `name`、`label`、`required`、`min`、`max`、`message` 属性集成表单校验功能。
166
+
113
167
  ```yaml preview
114
168
  - brick: eo-form
115
169
  events:
@@ -120,8 +174,33 @@
120
174
  children:
121
175
  - brick: eo-textarea
122
176
  properties:
123
- label: 输入框
124
- name: text
177
+ label: 描述
178
+ name: description
125
179
  required: true
180
+ min: 5
181
+ max: 200
182
+ message:
183
+ required: 请输入描述
184
+ min: 描述不能少于5个字符
185
+ max: 描述不能超过200个字符
126
186
  - brick: eo-submit-buttons
127
187
  ```
188
+
189
+ ### Methods
190
+
191
+ 通过 `focusTextarea` 方法使文本域获得焦点。
192
+
193
+ ```yaml preview
194
+ - brick: eo-textarea
195
+ id: my-textarea
196
+ properties:
197
+ label: 文本域
198
+ placeholder: 点击按钮使其获得焦点
199
+ - brick: eo-button
200
+ properties:
201
+ textContent: 获取焦点
202
+ events:
203
+ click:
204
+ target: "#my-textarea"
205
+ method: focusTextarea
206
+ ```
@@ -0,0 +1,193 @@
1
+ ---
2
+ tagName: eo-textarea
3
+ displayName: WrappedEoTextarea
4
+ description: 通用多行文本输入框构件
5
+ category: form-input-basic
6
+ source: "@next-bricks/form"
7
+ ---
8
+
9
+ # WrappedEoTextarea
10
+
11
+ > 通用多行文本输入框构件
12
+
13
+ ## 导入
14
+
15
+ ```tsx
16
+ import { WrappedEoTextarea } from "@easyops/wrapped-components";
17
+ ```
18
+
19
+ ## Props
20
+
21
+ | 属性 | 类型 | 必填 | 默认值 | 说明 |
22
+ | ------------- | ------------------------ | ---- | ------ | --------------------------------------------------------------------------- |
23
+ | name | `string` | 否 | - | 字段名称 |
24
+ | label | `string` | 否 | - | 标签文字 |
25
+ | value | `string` | 否 | - | 值 |
26
+ | placeholder | `string` | 否 | - | 占位说明 |
27
+ | disabled | `boolean` | 否 | - | 是否禁用 |
28
+ | minLength | `number` | 否 | - | 最小长度 |
29
+ | maxLength | `number` | 否 | - | 最大长度 |
30
+ | autoSize | `AutoSize` | 否 | - | 大小自适应 |
31
+ | required | `boolean` | 否 | - | 是否必填 |
32
+ | max | `number` | 否 | - | 表单校验最大长度 |
33
+ | min | `number` | 否 | - | 表单校验最小长度 |
34
+ | message | `Record<string, string>` | 否 | - | 校验信息 |
35
+ | textareaStyle | `React.CSSProperties` | 否 | - | 自定义样式 |
36
+ | variant | `"default" \| "muted"` | 否 | - | 变体。`muted`:在 themeVariant 为 elevo 时可用,设置时输入框没有 box-shadow |
37
+ | themeVariant | `"default" \| "elevo"` | 否 | - | 主题变体 |
38
+
39
+ ## Events
40
+
41
+ | 事件 | detail | 说明 |
42
+ | -------- | --------------------- | ---------- |
43
+ | onChange | `string` — 当前输入值 | 值改变事件 |
44
+
45
+ ## Methods
46
+
47
+ | 方法 | 说明 |
48
+ | --------------- | ---------------- |
49
+ | focusTextarea() | 使文本域获得焦点 |
50
+
51
+ ## Examples
52
+
53
+ ### Basic
54
+
55
+ 展示多行文本输入框的最基本用法。
56
+
57
+ ```tsx
58
+ <WrappedEoTextarea label="多行输入框" placeholder="请输入内容" />
59
+ ```
60
+
61
+ ### Value
62
+
63
+ 通过 `value` 属性设置文本域的默认值。
64
+
65
+ ```tsx
66
+ <WrappedEoTextarea label="默认值" value="Default Value" />
67
+ ```
68
+
69
+ ### Disabled
70
+
71
+ 设置 `disabled` 属性禁用文本域。
72
+
73
+ ```tsx
74
+ <WrappedEoTextarea label="禁用状态" value="Default Value" disabled />
75
+ ```
76
+
77
+ ### Placeholder
78
+
79
+ 通过 `placeholder` 属性设置文本域的占位提示文字。
80
+
81
+ ```tsx
82
+ <WrappedEoTextarea placeholder="This is placeholder..." />
83
+ ```
84
+
85
+ ### MaxLength
86
+
87
+ 通过 `maxLength` 属性限制输入的最大字符数。
88
+
89
+ ```tsx
90
+ <WrappedEoTextarea
91
+ label="最大长度"
92
+ placeholder="max length = 10"
93
+ maxLength={10}
94
+ />
95
+ ```
96
+
97
+ ### AutoSize
98
+
99
+ 通过 `autoSize` 属性让文本域高度随内容自动调整,支持设置 `minRows` 和 `maxRows` 限制行数范围。
100
+
101
+ ```tsx
102
+ <>
103
+ <WrappedEoTextarea placeholder="autoSize: true" autoSize={true} />
104
+ <WrappedEoTextarea
105
+ placeholder="autoSize: { minRows: 3 }"
106
+ autoSize={{ minRows: 3 }}
107
+ />
108
+ <WrappedEoTextarea
109
+ placeholder="autoSize: { minRows: 3, maxRows: 5 }"
110
+ autoSize={{ minRows: 3, maxRows: 5 }}
111
+ />
112
+ </>
113
+ ```
114
+
115
+ ### TextareaStyle
116
+
117
+ 通过 `textareaStyle` 属性自定义文本域的内联样式。
118
+
119
+ ```tsx
120
+ <>
121
+ <WrappedEoTextarea
122
+ placeholder="width: 180px"
123
+ textareaStyle={{ width: "180px" }}
124
+ />
125
+ <WrappedEoTextarea
126
+ placeholder="width: 250px"
127
+ textareaStyle={{ width: "250px" }}
128
+ />
129
+ <WrappedEoTextarea
130
+ placeholder="border style"
131
+ textareaStyle={{ border: "1px solid #8b2121" }}
132
+ />
133
+ </>
134
+ ```
135
+
136
+ ### Events
137
+
138
+ 监听 `onChange` 事件获取用户输入的实时值。
139
+
140
+ ```tsx
141
+ <WrappedEoTextarea
142
+ label="Event"
143
+ placeholder="请输入内容"
144
+ onChange={(e) => console.log(e.detail)}
145
+ />
146
+ ```
147
+
148
+ ### With Form
149
+
150
+ 在 `WrappedEoForm` 中使用,通过 `name`、`label`、`required`、`min`、`max`、`message` 属性集成表单校验功能。
151
+
152
+ ```tsx
153
+ <WrappedEoForm
154
+ onValidateSuccess={(e) => console.log(e.detail)}
155
+ onValuesChange={(e) => console.log(e.detail)}
156
+ >
157
+ <WrappedEoTextarea
158
+ label="描述"
159
+ name="description"
160
+ required
161
+ min={5}
162
+ max={200}
163
+ message={{
164
+ required: "请输入描述",
165
+ min: "描述不能少于5个字符",
166
+ max: "描述不能超过200个字符",
167
+ }}
168
+ />
169
+ <WrappedEoSubmitButtons />
170
+ </WrappedEoForm>
171
+ ```
172
+
173
+ ### Methods
174
+
175
+ 通过 `focusTextarea` 方法使文本域获得焦点。
176
+
177
+ ```tsx
178
+ function Demo() {
179
+ const ref = useRef(null);
180
+ return (
181
+ <>
182
+ <WrappedEoTextarea
183
+ ref={ref}
184
+ label="文本域"
185
+ placeholder="点击按钮使其获得焦点"
186
+ />
187
+ <WrappedEoButton onClick={() => ref.current?.focusTextarea()}>
188
+ 获取焦点
189
+ </WrappedEoButton>
190
+ </>
191
+ );
192
+ }
193
+ ```