@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-time-picker.md
CHANGED
|
@@ -1,56 +1,53 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-time-picker
|
|
3
|
+
displayName: WrappedEoTimePicker
|
|
4
|
+
description: 时间选择器
|
|
5
|
+
category: form-input-basic
|
|
6
|
+
source: "@next-bricks/form"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# eo-time-picker
|
|
10
|
+
|
|
11
|
+
> 时间选择器
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ----------- | -------------------------- | ---- | ------ | ----------------------------------------------------------------------------------------------- |
|
|
17
|
+
| name | `string` | 否 | - | 时间选择器字段名 |
|
|
18
|
+
| label | `string` | 否 | - | 时间选择器说明 |
|
|
19
|
+
| value | `string` | 否 | - | 时间选择器的初始值 |
|
|
20
|
+
| placeholder | `string` | 否 | - | 时间选择器占位说明 |
|
|
21
|
+
| message | `Record<string, string>` | 否 | - | 校验文本信息 |
|
|
22
|
+
| disabled | `boolean` | 否 | - | 是否禁用 |
|
|
23
|
+
| required | `boolean` | 否 | - | 是否必填 |
|
|
24
|
+
| configProps | `Partial<TimePickerProps>` | 否 | - | 透传 antd TimePicker 属性,详见 [timePickerProps](https://ant.design/components/time-picker-cn) |
|
|
25
|
+
|
|
26
|
+
## Events
|
|
27
|
+
|
|
28
|
+
| 事件 | detail | 说明 |
|
|
29
|
+
| ------ | --------------------------------------- | ------------------------------ |
|
|
30
|
+
| change | `string` — 格式化后的时间字符串 | 时间变化时触发 |
|
|
31
|
+
| open | `string` — 面板打开时的当前时间值字符串 | 面板打开时触发,传出当前时间值 |
|
|
32
|
+
| close | `string` — 面板关闭时的当前时间值字符串 | 面板关闭时触发,传出当前时间值 |
|
|
2
33
|
|
|
3
34
|
## Examples
|
|
4
35
|
|
|
5
36
|
### Basic
|
|
6
37
|
|
|
38
|
+
展示时间选择器的基本用法,包含初始值和占位说明。
|
|
39
|
+
|
|
7
40
|
```yaml preview minHeight="400px"
|
|
8
41
|
- brick: eo-time-picker
|
|
9
42
|
properties:
|
|
10
|
-
label:
|
|
43
|
+
label: 时间
|
|
11
44
|
placeholder: 选择时间
|
|
12
45
|
value: "12:30:01"
|
|
13
46
|
```
|
|
14
47
|
|
|
15
|
-
###
|
|
16
|
-
|
|
17
|
-
```yaml preview minHeight="400px"
|
|
18
|
-
- brick: div
|
|
19
|
-
properties:
|
|
20
|
-
style:
|
|
21
|
-
display: grid
|
|
22
|
-
gap: 1em
|
|
23
|
-
children:
|
|
24
|
-
- brick: eo-time-picker
|
|
25
|
-
- brick: eo-button
|
|
26
|
-
properties:
|
|
27
|
-
textContent: 中文
|
|
28
|
-
events:
|
|
29
|
-
click:
|
|
30
|
-
useProvider: basic.change-language
|
|
31
|
-
args:
|
|
32
|
-
- zh
|
|
33
|
-
callback:
|
|
34
|
-
success:
|
|
35
|
-
action: message.success
|
|
36
|
-
args:
|
|
37
|
-
- '<% I18N_TEXT({ zh: "你好", "en": "Hello" }) %>'
|
|
38
|
-
- brick: eo-button
|
|
39
|
-
properties:
|
|
40
|
-
textContent: English
|
|
41
|
-
events:
|
|
42
|
-
click:
|
|
43
|
-
useProvider: basic.change-language
|
|
44
|
-
args:
|
|
45
|
-
- en
|
|
46
|
-
callback:
|
|
47
|
-
success:
|
|
48
|
-
action: message.success
|
|
49
|
-
args:
|
|
50
|
-
- '<% I18N_TEXT({ zh: "你好", "en": "Hello" }) %>'
|
|
51
|
-
```
|
|
48
|
+
### 事件监听
|
|
52
49
|
|
|
53
|
-
|
|
50
|
+
展示监听 change、open、close 事件的用法。
|
|
54
51
|
|
|
55
52
|
```yaml preview minHeight="400px"
|
|
56
53
|
- brick: eo-time-picker
|
|
@@ -62,11 +59,40 @@
|
|
|
62
59
|
close:
|
|
63
60
|
action: console.log
|
|
64
61
|
properties:
|
|
65
|
-
label:
|
|
62
|
+
label: 时间
|
|
66
63
|
placeholder: 选择时间
|
|
67
64
|
```
|
|
68
65
|
|
|
69
|
-
###
|
|
66
|
+
### 透传 antd 属性
|
|
67
|
+
|
|
68
|
+
通过 configProps 透传 antd TimePicker 属性,自定义时间格式等配置。
|
|
69
|
+
|
|
70
|
+
```yaml preview minHeight="400px"
|
|
71
|
+
- brick: eo-time-picker
|
|
72
|
+
properties:
|
|
73
|
+
label: 时间(时分)
|
|
74
|
+
placeholder: 选择时间
|
|
75
|
+
configProps:
|
|
76
|
+
format: "HH:mm"
|
|
77
|
+
allowClear: true
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### 禁用状态
|
|
81
|
+
|
|
82
|
+
展示禁用状态下时间选择器的效果。
|
|
83
|
+
|
|
84
|
+
```yaml preview minHeight="400px"
|
|
85
|
+
- brick: eo-time-picker
|
|
86
|
+
properties:
|
|
87
|
+
label: 时间
|
|
88
|
+
disabled: true
|
|
89
|
+
value: "09:00:00"
|
|
90
|
+
placeholder: 已禁用
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 表单集成
|
|
94
|
+
|
|
95
|
+
在表单中使用时间选择器,支持 label、name、required 及自定义校验信息。
|
|
70
96
|
|
|
71
97
|
```yaml preview minHeight="400px"
|
|
72
98
|
- brick: eo-form
|
|
@@ -81,5 +107,7 @@
|
|
|
81
107
|
label: 时间
|
|
82
108
|
name: time
|
|
83
109
|
required: true
|
|
110
|
+
message:
|
|
111
|
+
required: 请选择时间
|
|
84
112
|
- brick: eo-submit-buttons
|
|
85
113
|
```
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-time-picker
|
|
3
|
+
displayName: WrappedEoTimePicker
|
|
4
|
+
description: 时间选择器
|
|
5
|
+
category: form-input-basic
|
|
6
|
+
source: "@next-bricks/form"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedEoTimePicker
|
|
10
|
+
|
|
11
|
+
> 时间选择器
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedEoTimePicker } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| ----------- | -------------------------- | ---- | ------ | ----------------------------------------------------------------------------------------------- |
|
|
23
|
+
| name | `string` | 否 | - | 时间选择器字段名 |
|
|
24
|
+
| label | `string` | 否 | - | 时间选择器说明 |
|
|
25
|
+
| value | `string` | 否 | - | 时间选择器的初始值 |
|
|
26
|
+
| placeholder | `string` | 否 | - | 时间选择器占位说明 |
|
|
27
|
+
| message | `Record<string, string>` | 否 | - | 校验文本信息 |
|
|
28
|
+
| disabled | `boolean` | 否 | - | 是否禁用 |
|
|
29
|
+
| required | `boolean` | 否 | - | 是否必填 |
|
|
30
|
+
| configProps | `Partial<TimePickerProps>` | 否 | - | 透传 antd TimePicker 属性,详见 [timePickerProps](https://ant.design/components/time-picker-cn) |
|
|
31
|
+
|
|
32
|
+
## Events
|
|
33
|
+
|
|
34
|
+
| 事件 | detail | 说明 |
|
|
35
|
+
| -------- | --------------------------------------- | ------------------------------ |
|
|
36
|
+
| onChange | `string` — 格式化后的时间字符串 | 时间变化时触发 |
|
|
37
|
+
| onOpen | `string` — 面板打开时的当前时间值字符串 | 面板打开时触发,传出当前时间值 |
|
|
38
|
+
| onClose | `string` — 面板关闭时的当前时间值字符串 | 面板关闭时触发,传出当前时间值 |
|
|
39
|
+
|
|
40
|
+
## Examples
|
|
41
|
+
|
|
42
|
+
### Basic
|
|
43
|
+
|
|
44
|
+
展示时间选择器的基本用法,包含初始值和占位说明。
|
|
45
|
+
|
|
46
|
+
```tsx
|
|
47
|
+
<WrappedEoTimePicker label="时间" placeholder="选择时间" value="12:30:01" />
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 事件监听
|
|
51
|
+
|
|
52
|
+
展示监听 change、open、close 事件的用法。
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
<WrappedEoTimePicker
|
|
56
|
+
label="时间"
|
|
57
|
+
placeholder="选择时间"
|
|
58
|
+
onChange={(e) => console.log(e.detail)}
|
|
59
|
+
onOpen={(e) => console.log(e.detail)}
|
|
60
|
+
onClose={(e) => console.log(e.detail)}
|
|
61
|
+
/>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 透传 antd 属性
|
|
65
|
+
|
|
66
|
+
通过 configProps 透传 antd TimePicker 属性,自定义时间格式等配置。
|
|
67
|
+
|
|
68
|
+
```tsx
|
|
69
|
+
<WrappedEoTimePicker
|
|
70
|
+
label="时间(时分)"
|
|
71
|
+
placeholder="选择时间"
|
|
72
|
+
configProps={{ format: "HH:mm", allowClear: true }}
|
|
73
|
+
/>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 禁用状态
|
|
77
|
+
|
|
78
|
+
展示禁用状态下时间选择器的效果。
|
|
79
|
+
|
|
80
|
+
```tsx
|
|
81
|
+
<WrappedEoTimePicker
|
|
82
|
+
label="时间"
|
|
83
|
+
disabled={true}
|
|
84
|
+
value="09:00:00"
|
|
85
|
+
placeholder="已禁用"
|
|
86
|
+
/>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 表单集成
|
|
90
|
+
|
|
91
|
+
在表单中使用时间选择器,支持 label、name、required 及自定义校验信息。
|
|
92
|
+
|
|
93
|
+
```tsx
|
|
94
|
+
<WrappedEoForm
|
|
95
|
+
onValidateSuccess={(e) => console.log(e.detail)}
|
|
96
|
+
onValuesChange={(e) => console.log(e.detail)}
|
|
97
|
+
>
|
|
98
|
+
<WrappedEoTimePicker
|
|
99
|
+
label="时间"
|
|
100
|
+
name="time"
|
|
101
|
+
required={true}
|
|
102
|
+
message={{ required: "请选择时间" }}
|
|
103
|
+
/>
|
|
104
|
+
<WrappedEoSubmitButtons />
|
|
105
|
+
</WrappedEoForm>
|
|
106
|
+
```
|
|
@@ -1,17 +1,53 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-time-range-picker
|
|
3
|
+
displayName: WrappedEoTimeRangePicker
|
|
4
|
+
description: 时间区间选择器
|
|
5
|
+
category: form-input-basic
|
|
6
|
+
source: "@next-bricks/form"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# eo-time-range-picker
|
|
10
|
+
|
|
11
|
+
> 时间区间选择器
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ---------------- | --------------------------------------- | ---- | ------ | ---------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| name | `string` | 否 | - | 时间段选择器字段名 |
|
|
18
|
+
| label | `string` | 否 | - | 时间段选择器说明 |
|
|
19
|
+
| value | `TimeRange` | 否 | - | 时间段选择器的初始值,格式为 `{ startTime, endTime }` |
|
|
20
|
+
| required | `boolean` | 否 | - | 是否必填 |
|
|
21
|
+
| rangeType | `RangeType` | 否 | - | 时间段类型,可选值:`time` \| `hmTime` \| `date` \| `dateTime` \| `week` \| `month` \| `quarter` \| `year` |
|
|
22
|
+
| placeholder | `string \| [string, string]` | 否 | - | 输入框提示文字,单时间段时为 `string`,范围时间段时为 `[string, string]` |
|
|
23
|
+
| inputStyle | `React.CSSProperties` | 否 | - | 输入框样式 |
|
|
24
|
+
| selectNearDays | `number` | 否 | - | 仅在 `rangeType` 为 `date` 或 `dateTime` 时生效,限制只能选择最近 n 天(当前时间向前 n 天) |
|
|
25
|
+
| emitChangeOnInit | `boolean` | 否 | `true` | 是否在初始化完成后额外触发一次 change 事件。默认为 `true` 以兼容历史行为。 |
|
|
26
|
+
| presetRanges | `presetRangeType[]` | 否 | - | 预设时间范围快捷选择。设置了 `selectNearDays` 时不生效;不同 `rangeType` 下可选值有限制。 |
|
|
27
|
+
| validator | `(value: any) => MessageBody \| string` | 否 | - | 自定义校验函数,返回错误信息字符串或 MessageBody 对象,返回空字符串表示校验通过。 |
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
| 事件 | detail | 说明 |
|
|
32
|
+
| ------ | -------------------------------------------------------------------- | ---------------- |
|
|
33
|
+
| change | `TimeRange` — { startTime: 开始时间字符串, endTime: 结束时间字符串 } | 时间段变化时触发 |
|
|
2
34
|
|
|
3
35
|
## Examples
|
|
4
36
|
|
|
5
37
|
### Basic
|
|
6
38
|
|
|
39
|
+
展示时间区间选择器的基本用法。
|
|
40
|
+
|
|
7
41
|
```yaml preview minHeight="400px"
|
|
8
42
|
- brick: eo-time-range-picker
|
|
9
43
|
properties:
|
|
10
|
-
label:
|
|
44
|
+
label: 时间段
|
|
11
45
|
name: time
|
|
12
46
|
```
|
|
13
47
|
|
|
14
|
-
###
|
|
48
|
+
### 区间类型
|
|
49
|
+
|
|
50
|
+
通过 rangeType 属性切换不同的时间段类型(时间/日期/日期时间/周/月/季度/年)。
|
|
15
51
|
|
|
16
52
|
```yaml preview minHeight="400px"
|
|
17
53
|
- brick: eo-radio
|
|
@@ -32,18 +68,20 @@
|
|
|
32
68
|
rangeType: <% EVENT.detail.value %>
|
|
33
69
|
- brick: eo-time-range-picker
|
|
34
70
|
properties:
|
|
35
|
-
label:
|
|
71
|
+
label: 时间段
|
|
36
72
|
name: time
|
|
37
73
|
id: rangePicker
|
|
38
74
|
rangeType: date
|
|
39
75
|
```
|
|
40
76
|
|
|
41
|
-
###
|
|
77
|
+
### 预设时间范围
|
|
78
|
+
|
|
79
|
+
通过 presetRanges 属性设置快捷选择按钮,方便用户快速选择常用时间段。
|
|
42
80
|
|
|
43
81
|
```yaml preview minHeight="400px"
|
|
44
82
|
- brick: eo-time-range-picker
|
|
45
83
|
properties:
|
|
46
|
-
label:
|
|
84
|
+
label: 时间段
|
|
47
85
|
name: time
|
|
48
86
|
rangeType: week
|
|
49
87
|
required: true
|
|
@@ -54,13 +92,49 @@
|
|
|
54
92
|
- 今年
|
|
55
93
|
```
|
|
56
94
|
|
|
57
|
-
###
|
|
95
|
+
### 最近 N 天
|
|
96
|
+
|
|
97
|
+
通过 selectNearDays 属性限制只能选择最近 n 天范围内的日期(rangeType 为 date 或 dateTime 时有效)。
|
|
98
|
+
|
|
99
|
+
```yaml preview minHeight="400px"
|
|
100
|
+
- brick: eo-time-range-picker
|
|
101
|
+
events:
|
|
102
|
+
change:
|
|
103
|
+
action: console.log
|
|
104
|
+
properties:
|
|
105
|
+
label: 最近 10 天
|
|
106
|
+
name: time
|
|
107
|
+
selectNearDays: 10
|
|
108
|
+
rangeType: date
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 初始值与输入框样式
|
|
112
|
+
|
|
113
|
+
通过 value 设置初始时间段,通过 inputStyle 自定义输入框样式。
|
|
114
|
+
|
|
115
|
+
```yaml preview minHeight="400px"
|
|
116
|
+
- brick: eo-time-range-picker
|
|
117
|
+
properties:
|
|
118
|
+
label: 时间段
|
|
119
|
+
name: time
|
|
120
|
+
rangeType: date
|
|
121
|
+
value:
|
|
122
|
+
startTime: "2024-01-01"
|
|
123
|
+
endTime: "2024-01-31"
|
|
124
|
+
inputStyle:
|
|
125
|
+
width: 300px
|
|
126
|
+
placeholder:
|
|
127
|
+
- 开始日期
|
|
128
|
+
- 结束日期
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 自定义校验
|
|
132
|
+
|
|
133
|
+
通过 validator 属性自定义校验逻辑,返回错误信息时显示校验失败。
|
|
58
134
|
|
|
59
135
|
```yaml preview minHeight="400px"
|
|
60
136
|
- brick: eo-form
|
|
61
137
|
events:
|
|
62
|
-
values.change:
|
|
63
|
-
- action: console.log
|
|
64
138
|
validate.success:
|
|
65
139
|
- action: message.success
|
|
66
140
|
args:
|
|
@@ -77,37 +151,17 @@
|
|
|
77
151
|
change:
|
|
78
152
|
action: console.log
|
|
79
153
|
properties:
|
|
80
|
-
label:
|
|
154
|
+
label: 时间段
|
|
81
155
|
name: time
|
|
82
156
|
required: true
|
|
157
|
+
emitChangeOnInit: false
|
|
158
|
+
validator: "<% (value) => value && value.startTime && value.endTime ? '' : '请选择完整的时间段' %>"
|
|
83
159
|
- brick: eo-submit-buttons
|
|
84
160
|
```
|
|
85
161
|
|
|
86
|
-
###
|
|
87
|
-
|
|
88
|
-
```yaml preview minHeight="400px"
|
|
89
|
-
- brick: eo-time-range-picker
|
|
90
|
-
events:
|
|
91
|
-
- action: console.log
|
|
92
|
-
properties:
|
|
93
|
-
label: hello
|
|
94
|
-
name: time
|
|
95
|
-
selectNearDays: 10
|
|
96
|
-
rangeType: date
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
### Events
|
|
100
|
-
|
|
101
|
-
```yaml preview minHeight="400px"
|
|
102
|
-
- brick: eo-time-range-picker
|
|
103
|
-
events:
|
|
104
|
-
- action: console.log
|
|
105
|
-
properties:
|
|
106
|
-
label: hello
|
|
107
|
-
name: time
|
|
108
|
-
```
|
|
162
|
+
### 表单集成
|
|
109
163
|
|
|
110
|
-
|
|
164
|
+
在表单中使用时间区间选择器,结合 name、label、required 进行完整的表单提交。
|
|
111
165
|
|
|
112
166
|
```yaml preview minHeight="400px"
|
|
113
167
|
- brick: eo-form
|
|
@@ -119,7 +173,7 @@
|
|
|
119
173
|
children:
|
|
120
174
|
- brick: eo-time-range-picker
|
|
121
175
|
properties:
|
|
122
|
-
label:
|
|
176
|
+
label: 时间段
|
|
123
177
|
name: time
|
|
124
178
|
required: true
|
|
125
179
|
- brick: eo-submit-buttons
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-time-range-picker
|
|
3
|
+
displayName: WrappedEoTimeRangePicker
|
|
4
|
+
description: 时间区间选择器
|
|
5
|
+
category: form-input-basic
|
|
6
|
+
source: "@next-bricks/form"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedEoTimeRangePicker
|
|
10
|
+
|
|
11
|
+
> 时间区间选择器
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedEoTimeRangePicker } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| ---------------- | --------------------------------------- | ---- | ------ | ---------------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| name | `string` | 否 | - | 时间段选择器字段名 |
|
|
24
|
+
| label | `string` | 否 | - | 时间段选择器说明 |
|
|
25
|
+
| value | `TimeRange` | 否 | - | 时间段选择器的初始值,格式为 `{ startTime, endTime }` |
|
|
26
|
+
| required | `boolean` | 否 | - | 是否必填 |
|
|
27
|
+
| rangeType | `RangeType` | 否 | - | 时间段类型,可选值:`time` \| `hmTime` \| `date` \| `dateTime` \| `week` \| `month` \| `quarter` \| `year` |
|
|
28
|
+
| placeholder | `string \| [string, string]` | 否 | - | 输入框提示文字,单时间段时为 `string`,范围时间段时为 `[string, string]` |
|
|
29
|
+
| inputStyle | `React.CSSProperties` | 否 | - | 输入框样式 |
|
|
30
|
+
| selectNearDays | `number` | 否 | - | 仅在 `rangeType` 为 `date` 或 `dateTime` 时生效,限制只能选择最近 n 天(当前时间向前 n 天) |
|
|
31
|
+
| emitChangeOnInit | `boolean` | 否 | `true` | 是否在初始化完成后额外触发一次 change 事件。默认为 `true` 以兼容历史行为。 |
|
|
32
|
+
| presetRanges | `presetRangeType[]` | 否 | - | 预设时间范围快捷选择。设置了 `selectNearDays` 时不生效;不同 `rangeType` 下可选值有限制。 |
|
|
33
|
+
| validator | `(value: any) => MessageBody \| string` | 否 | - | 自定义校验函数,返回错误信息字符串或 MessageBody 对象,返回空字符串表示校验通过。 |
|
|
34
|
+
|
|
35
|
+
## Events
|
|
36
|
+
|
|
37
|
+
| 事件 | detail | 说明 |
|
|
38
|
+
| -------- | -------------------------------------------------------------------- | ---------------- |
|
|
39
|
+
| onChange | `TimeRange` — { startTime: 开始时间字符串, endTime: 结束时间字符串 } | 时间段变化时触发 |
|
|
40
|
+
|
|
41
|
+
## Examples
|
|
42
|
+
|
|
43
|
+
### Basic
|
|
44
|
+
|
|
45
|
+
展示时间区间选择器的基本用法。
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
<WrappedEoTimeRangePicker label="时间段" name="time" />
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 区间类型
|
|
52
|
+
|
|
53
|
+
通过 rangeType 属性切换不同的时间段类型(时间/日期/日期时间/周/月/季度/年)。
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
import { useState } from "react";
|
|
57
|
+
|
|
58
|
+
function Demo() {
|
|
59
|
+
const [rangeType, setRangeType] = useState("date");
|
|
60
|
+
return (
|
|
61
|
+
<>
|
|
62
|
+
<WrappedEoRadio
|
|
63
|
+
options={[
|
|
64
|
+
"time",
|
|
65
|
+
"date",
|
|
66
|
+
"dateTime",
|
|
67
|
+
"hmTime",
|
|
68
|
+
"week",
|
|
69
|
+
"month",
|
|
70
|
+
"quarter",
|
|
71
|
+
"year",
|
|
72
|
+
]}
|
|
73
|
+
onChange={(e) => setRangeType(e.detail.value)}
|
|
74
|
+
/>
|
|
75
|
+
<WrappedEoTimeRangePicker
|
|
76
|
+
label="时间段"
|
|
77
|
+
name="time"
|
|
78
|
+
rangeType={rangeType}
|
|
79
|
+
/>
|
|
80
|
+
</>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 预设时间范围
|
|
86
|
+
|
|
87
|
+
通过 presetRanges 属性设置快捷选择按钮,方便用户快速选择常用时间段。
|
|
88
|
+
|
|
89
|
+
```tsx
|
|
90
|
+
<WrappedEoTimeRangePicker
|
|
91
|
+
label="时间段"
|
|
92
|
+
name="time"
|
|
93
|
+
rangeType="week"
|
|
94
|
+
required={true}
|
|
95
|
+
presetRanges={["本周", "本月", "本季度", "今年"]}
|
|
96
|
+
/>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### 最近 N 天
|
|
100
|
+
|
|
101
|
+
通过 selectNearDays 属性限制只能选择最近 n 天范围内的日期(rangeType 为 date 或 dateTime 时有效)。
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
<WrappedEoTimeRangePicker
|
|
105
|
+
label="最近 10 天"
|
|
106
|
+
name="time"
|
|
107
|
+
selectNearDays={10}
|
|
108
|
+
rangeType="date"
|
|
109
|
+
onChange={(e) => console.log(e.detail)}
|
|
110
|
+
/>
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 初始值与输入框样式
|
|
114
|
+
|
|
115
|
+
通过 value 设置初始时间段,通过 inputStyle 自定义输入框样式。
|
|
116
|
+
|
|
117
|
+
```tsx
|
|
118
|
+
<WrappedEoTimeRangePicker
|
|
119
|
+
label="时间段"
|
|
120
|
+
name="time"
|
|
121
|
+
rangeType="date"
|
|
122
|
+
value={{ startTime: "2024-01-01", endTime: "2024-01-31" }}
|
|
123
|
+
inputStyle={{ width: 300 }}
|
|
124
|
+
placeholder={["开始日期", "结束日期"]}
|
|
125
|
+
/>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 自定义校验
|
|
129
|
+
|
|
130
|
+
通过 validator 属性自定义校验逻辑,返回错误信息时显示校验失败。
|
|
131
|
+
|
|
132
|
+
```tsx
|
|
133
|
+
<WrappedEoForm
|
|
134
|
+
onValidateSuccess={() => alert("表单提交成功")}
|
|
135
|
+
onValidateError={() => alert("表单校验失败")}
|
|
136
|
+
>
|
|
137
|
+
<WrappedEoTimeRangePicker
|
|
138
|
+
label="时间段"
|
|
139
|
+
name="time"
|
|
140
|
+
required={true}
|
|
141
|
+
emitChangeOnInit={false}
|
|
142
|
+
validator={(value) =>
|
|
143
|
+
value && value.startTime && value.endTime ? "" : "请选择完整的时间段"
|
|
144
|
+
}
|
|
145
|
+
onChange={(e) => console.log(e.detail)}
|
|
146
|
+
/>
|
|
147
|
+
<WrappedEoSubmitButtons />
|
|
148
|
+
</WrappedEoForm>
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 表单集成
|
|
152
|
+
|
|
153
|
+
在表单中使用时间区间选择器,结合 name、label、required 进行完整的表单提交。
|
|
154
|
+
|
|
155
|
+
```tsx
|
|
156
|
+
<WrappedEoForm
|
|
157
|
+
onValidateSuccess={(e) => console.log(e.detail)}
|
|
158
|
+
onValuesChange={(e) => console.log(e.detail)}
|
|
159
|
+
>
|
|
160
|
+
<WrappedEoTimeRangePicker label="时间段" name="time" required={true} />
|
|
161
|
+
<WrappedEoSubmitButtons />
|
|
162
|
+
</WrappedEoForm>
|
|
163
|
+
```
|