@next-bricks/form 1.21.10 → 1.21.12
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/bricks.json +1 -1
- package/dist/chunks/{2537.d25d0532.js → 2537.be4cf82c.js} +2 -2
- package/dist/chunks/2537.be4cf82c.js.map +1 -0
- package/dist/chunks/{4056.aac4a786.js → 3053.7e00faa1.js} +3 -3
- package/dist/chunks/3053.7e00faa1.js.map +1 -0
- package/dist/chunks/845.2f598dd9.js +3 -0
- package/dist/chunks/845.2f598dd9.js.map +1 -0
- package/dist/chunks/{9949.753e2720.js → 9949.3d28a915.js} +3 -3
- package/dist/chunks/9949.3d28a915.js.map +1 -0
- package/dist/chunks/eo-auto-complete.0ed854e4.js +3 -0
- package/dist/chunks/eo-auto-complete.0ed854e4.js.map +1 -0
- package/dist/chunks/eo-checkbox.2d0a8dbc.js +2 -0
- package/dist/chunks/eo-checkbox.2d0a8dbc.js.map +1 -0
- package/dist/chunks/eo-color-picker.ecf0c4c0.js +2 -0
- package/dist/chunks/eo-color-picker.ecf0c4c0.js.map +1 -0
- package/dist/chunks/eo-date-picker.faa60507.js +2 -0
- package/dist/chunks/eo-date-picker.faa60507.js.map +1 -0
- package/dist/chunks/eo-dynamic-form-item.aa5f7d9e.js +3 -0
- package/dist/chunks/eo-dynamic-form-item.aa5f7d9e.js.map +1 -0
- package/dist/chunks/eo-form.9db78cdb.js.map +1 -1
- package/dist/chunks/eo-icon-select.6a7f7e12.js +3 -0
- package/dist/chunks/eo-icon-select.6a7f7e12.js.map +1 -0
- package/dist/chunks/eo-radio.b2ed57db.js +3 -0
- package/dist/chunks/eo-radio.b2ed57db.js.map +1 -0
- package/dist/chunks/eo-search.206dd65e.js.map +1 -1
- package/dist/chunks/eo-select.cd00c791.js +3 -0
- package/dist/chunks/eo-select.cd00c791.js.map +1 -0
- package/dist/chunks/eo-submit-buttons.8a293f65.js +2 -0
- package/dist/chunks/eo-submit-buttons.8a293f65.js.map +1 -0
- package/dist/chunks/eo-switch.f0a27c08.js +3 -0
- package/dist/chunks/eo-switch.f0a27c08.js.map +1 -0
- package/dist/chunks/eo-textarea.405851dd.js +3 -0
- package/dist/chunks/eo-textarea.405851dd.js.map +1 -0
- package/dist/chunks/eo-time-picker.46e7a667.js +2 -0
- package/dist/chunks/eo-time-picker.46e7a667.js.map +1 -0
- package/dist/chunks/eo-time-range-picker.5afbad69.js +2 -0
- package/dist/chunks/eo-time-range-picker.5afbad69.js.map +1 -0
- package/dist/chunks/eo-upload-file.27a4288d.js +3 -0
- package/dist/chunks/eo-upload-file.27a4288d.js.map +1 -0
- package/dist/chunks/eo-upload-image.b43c2329.js +3 -0
- package/dist/chunks/eo-upload-image.b43c2329.js.map +1 -0
- package/dist/chunks/{input.a430c2a2.js → input.653c9d90.js} +3 -3
- package/dist/chunks/input.653c9d90.js.map +1 -0
- package/dist/chunks/{main.87225246.js → main.035ebb8e.js} +2 -2
- package/dist/chunks/{main.87225246.js.map → main.035ebb8e.js.map} +1 -1
- package/dist/examples.json +21 -18
- package/dist/{index.6833e5c3.js → index.90f748b4.js} +2 -2
- package/dist/{index.6833e5c3.js.map → index.90f748b4.js.map} +1 -1
- package/dist/manifest.json +108 -42
- package/dist/types.json +55 -5
- package/dist-types/auto-complete/index.d.ts +4 -0
- package/dist-types/checkbox/index.d.ts +2 -2
- package/dist-types/color-picker/index.d.ts +2 -1
- package/dist-types/form/index.d.ts +16 -1
- package/dist-types/form-item/index.d.ts +31 -2
- package/dist-types/general-switch/index.d.ts +1 -1
- package/dist-types/icon-select/index.d.ts +1 -1
- package/dist-types/input/index.d.ts +2 -2
- package/dist-types/radio/index.d.ts +4 -4
- package/dist-types/select/index.d.ts +1 -0
- package/dist-types/textarea/index.d.ts +1 -1
- package/dist-types/time-range-picker/index.d.ts +7 -4
- package/dist-types/upload/upload-file/index.d.ts +1 -1
- package/docs/eo-auto-complete.md +158 -8
- package/docs/eo-auto-complete.react.md +229 -0
- package/docs/eo-checkbox.md +107 -4
- package/docs/eo-checkbox.react.md +369 -0
- package/docs/eo-color-picker.md +102 -22
- package/docs/eo-color-picker.react.md +160 -0
- package/docs/eo-date-picker.md +82 -50
- package/docs/eo-date-picker.react.md +146 -0
- package/docs/eo-dynamic-form-item.md +60 -15
- package/docs/eo-dynamic-form-item.react.md +186 -0
- package/docs/eo-form-item.md +194 -0
- package/docs/eo-form-item.react.md +163 -0
- package/docs/eo-form.md +144 -3
- package/docs/eo-form.react.md +330 -0
- package/docs/eo-icon-select.md +80 -1
- package/docs/eo-icon-select.react.md +97 -0
- package/docs/eo-input.md +147 -22
- package/docs/eo-input.react.md +275 -0
- package/docs/eo-radio.md +145 -8
- package/docs/eo-radio.react.md +492 -0
- package/docs/eo-search.md +94 -1
- package/docs/eo-search.react.md +122 -0
- package/docs/eo-select.md +157 -9
- package/docs/eo-select.react.md +411 -0
- package/docs/eo-submit-buttons.md +120 -7
- package/docs/eo-submit-buttons.react.md +129 -0
- package/docs/eo-switch.md +57 -3
- package/docs/eo-switch.react.md +136 -0
- package/docs/eo-textarea.md +101 -22
- package/docs/eo-textarea.react.md +193 -0
- package/docs/eo-time-picker.md +70 -42
- package/docs/eo-time-picker.react.md +106 -0
- package/docs/eo-time-range-picker.md +89 -35
- package/docs/eo-time-range-picker.react.md +163 -0
- package/docs/eo-upload-file.md +101 -9
- package/docs/eo-upload-file.react.md +126 -0
- package/docs/eo-upload-image.md +70 -6
- package/docs/eo-upload-image.react.md +92 -0
- package/package.json +2 -2
- package/dist/chunks/2537.d25d0532.js.map +0 -1
- package/dist/chunks/4056.aac4a786.js.map +0 -1
- package/dist/chunks/845.c8b5b1e8.js +0 -3
- package/dist/chunks/845.c8b5b1e8.js.map +0 -1
- package/dist/chunks/9949.753e2720.js.map +0 -1
- package/dist/chunks/eo-auto-complete.9d9f68a8.js +0 -3
- package/dist/chunks/eo-auto-complete.9d9f68a8.js.map +0 -1
- package/dist/chunks/eo-checkbox.0b875e8b.js +0 -2
- package/dist/chunks/eo-checkbox.0b875e8b.js.map +0 -1
- package/dist/chunks/eo-color-picker.c3b11b2f.js +0 -2
- package/dist/chunks/eo-color-picker.c3b11b2f.js.map +0 -1
- package/dist/chunks/eo-date-picker.f5894c3c.js +0 -2
- package/dist/chunks/eo-date-picker.f5894c3c.js.map +0 -1
- package/dist/chunks/eo-dynamic-form-item.3837c24e.js +0 -3
- package/dist/chunks/eo-dynamic-form-item.3837c24e.js.map +0 -1
- package/dist/chunks/eo-icon-select.d343ca96.js +0 -3
- package/dist/chunks/eo-icon-select.d343ca96.js.map +0 -1
- package/dist/chunks/eo-radio.f2527bfa.js +0 -3
- package/dist/chunks/eo-radio.f2527bfa.js.map +0 -1
- package/dist/chunks/eo-select.9c05c45b.js +0 -3
- package/dist/chunks/eo-select.9c05c45b.js.map +0 -1
- package/dist/chunks/eo-submit-buttons.bccc3dbf.js +0 -2
- package/dist/chunks/eo-submit-buttons.bccc3dbf.js.map +0 -1
- package/dist/chunks/eo-switch.3607f593.js +0 -3
- package/dist/chunks/eo-switch.3607f593.js.map +0 -1
- package/dist/chunks/eo-textarea.fbc8c190.js +0 -3
- package/dist/chunks/eo-textarea.fbc8c190.js.map +0 -1
- package/dist/chunks/eo-time-picker.da156d88.js +0 -2
- package/dist/chunks/eo-time-picker.da156d88.js.map +0 -1
- package/dist/chunks/eo-time-range-picker.15864724.js +0 -2
- package/dist/chunks/eo-time-range-picker.15864724.js.map +0 -1
- package/dist/chunks/eo-upload-file.8e5acc0f.js +0 -3
- package/dist/chunks/eo-upload-file.8e5acc0f.js.map +0 -1
- package/dist/chunks/eo-upload-image.1ae9beb3.js +0 -3
- package/dist/chunks/eo-upload-image.1ae9beb3.js.map +0 -1
- package/dist/chunks/input.a430c2a2.js.map +0 -1
- /package/dist/chunks/{4056.aac4a786.js.LICENSE.txt → 3053.7e00faa1.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{845.c8b5b1e8.js.LICENSE.txt → 845.2f598dd9.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9949.753e2720.js.LICENSE.txt → 9949.3d28a915.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-auto-complete.9d9f68a8.js.LICENSE.txt → eo-auto-complete.0ed854e4.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-dynamic-form-item.3837c24e.js.LICENSE.txt → eo-dynamic-form-item.aa5f7d9e.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-icon-select.d343ca96.js.LICENSE.txt → eo-icon-select.6a7f7e12.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-radio.f2527bfa.js.LICENSE.txt → eo-radio.b2ed57db.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-select.9c05c45b.js.LICENSE.txt → eo-select.cd00c791.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-switch.3607f593.js.LICENSE.txt → eo-switch.f0a27c08.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-textarea.fbc8c190.js.LICENSE.txt → eo-textarea.405851dd.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-upload-file.8e5acc0f.js.LICENSE.txt → eo-upload-file.27a4288d.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-upload-image.1ae9beb3.js.LICENSE.txt → eo-upload-image.b43c2329.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{input.a430c2a2.js.LICENSE.txt → input.653c9d90.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
|
-
###
|
|
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
|
-
###
|
|
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
|
+
```
|
package/docs/eo-textarea.md
CHANGED
|
@@ -1,55 +1,109 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
147
|
+
### Events
|
|
148
|
+
|
|
149
|
+
监听 `change` 事件获取用户输入的实时值。
|
|
92
150
|
|
|
93
151
|
```yaml preview
|
|
94
152
|
- brick: eo-textarea
|
|
95
|
-
|
|
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:
|
|
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
|
+
```
|