@next-bricks/presentational-bricks 1.339.1 → 1.339.2
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/deploy/contract.yaml +126 -126
- package/dist/bricks.json +32 -32
- package/dist/{index.8e5be25b.js → index.09224616.js} +2 -2
- package/dist/{index.8e5be25b.js.map → index.09224616.js.map} +1 -1
- package/docs/brick-result.md +197 -0
- package/docs/brick-result.react.md +177 -0
- package/docs/brick-user.md +135 -0
- package/docs/brick-user.react.md +139 -0
- package/docs/brick-value-mapping.md +240 -0
- package/docs/brick-value-mapping.react.md +181 -0
- package/docs/cost-time.md +58 -0
- package/docs/cost-time.react.md +60 -0
- package/docs/datetime-selector.md +146 -0
- package/docs/datetime-selector.react.md +150 -0
- package/docs/general-label.md +115 -0
- package/docs/general-label.react.md +131 -0
- package/package.json +5 -4
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: presentational-bricks.brick-value-mapping
|
|
3
|
+
displayName: WrappedPresentationalBricksBrickValueMapping
|
|
4
|
+
description: 适用于将基本类型的数值转换成有意义的文本进行展示
|
|
5
|
+
category: data-transform
|
|
6
|
+
source: "@next-bricks/presentational-bricks"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# presentational-bricks.brick-value-mapping
|
|
10
|
+
|
|
11
|
+
> 适用于将基本类型的数值转换成有意义的文本进行展示
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ----------------- | ---------------------------------------------------- | ---- | ------- | ----------------------------------------------------------------- |
|
|
17
|
+
| value | `string \| number` | - | - | 原始值 |
|
|
18
|
+
| fields | `{ value: string; }` | - | - | [已废弃]字段映射, 跟 dataSource 一起使用来获得运行时 value |
|
|
19
|
+
| mapping | `Record< string \| number, MappingValue >` | 是 | - | 映射规则 |
|
|
20
|
+
| showTagCircle | `boolean` | - | - | 显示文字旁边的小圈圈,按照平台规范通常表示状态的标签可设置为 true |
|
|
21
|
+
| dataSource | `Record<string, any>` | - | - | 替代 `data` 属性,click 事件时传出的数据 |
|
|
22
|
+
| triggerClickEvent | `boolean` | - | `false` | 是否触发点击事件 |
|
|
23
|
+
| isTextEllipsis | `boolean` | - | `false` | 文案超出时是否隐藏溢出文本并在鼠标悬停时显示 Tooltip |
|
|
24
|
+
| link | `LinkProps` | - | - | 配置跳转链接,在 `triggerClickEvent` 为 false 生效 |
|
|
25
|
+
| data | `any` | - | - | [已废弃]可用于接收 useBrick 传递过来的数据 |
|
|
26
|
+
|
|
27
|
+
## Events
|
|
28
|
+
|
|
29
|
+
| 事件 | detail | 说明 |
|
|
30
|
+
| ------------------------- | ---------------------------------------- | ----------------------------------------------------- |
|
|
31
|
+
| brick-value-mapping.click | `{ data: any; value: string \| number }` | 点击事件,需设置 `triggerClickEvent` 为 true 才会触发 |
|
|
32
|
+
|
|
33
|
+
## Memo
|
|
34
|
+
|
|
35
|
+
### 注意
|
|
36
|
+
|
|
37
|
+
> 如果需要区间的条件规则映射,比如大于、小于等,请使用[条件展示](developers/brick-book/brick/presentational-bricks.brick-conditional-display)
|
|
38
|
+
|
|
39
|
+
### MappingValue
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
interface MappingValue {
|
|
43
|
+
text?: string;
|
|
44
|
+
color?: Color;
|
|
45
|
+
icon?: MenuIcon;
|
|
46
|
+
iconSize?: number;
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### LinkProps
|
|
51
|
+
|
|
52
|
+
```typescript
|
|
53
|
+
interface LinkProps {
|
|
54
|
+
to?: string;
|
|
55
|
+
href?: string;
|
|
56
|
+
innerRef?: string;
|
|
57
|
+
replace?: boolean;
|
|
58
|
+
target?: string;
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 映射规则说明
|
|
63
|
+
|
|
64
|
+
映射支持正则匹配,匹配规则如下:
|
|
65
|
+
|
|
66
|
+
1. 首先以 `value` 为 key 来获取映射,若成功匹配则使用该规则来展示;若不成功,则走下一步
|
|
67
|
+
2. 将 `映射规则` 中的 key 作为正则,来匹配 `value`, 使用成功匹配的第一个规则
|
|
68
|
+
|
|
69
|
+
例如
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
// 以下将展示 `hi`
|
|
73
|
+
const mapping = { hello: { text: "hi" }, ".*": { text: "anything else" } };
|
|
74
|
+
const value = "hello";
|
|
75
|
+
|
|
76
|
+
// 以下将展示 `anything else`
|
|
77
|
+
const mapping = {
|
|
78
|
+
www: { text: "world wide web" },
|
|
79
|
+
".*": { text: "anything else" },
|
|
80
|
+
};
|
|
81
|
+
const value = "hello";
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Examples
|
|
85
|
+
|
|
86
|
+
### 基本用法 - 映射为多彩标签(带圆点)
|
|
87
|
+
|
|
88
|
+
使用 `showTagCircle` 显示状态圆点,通过 `mapping` 将不同值映射为对应的颜色标签。
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
brick: presentational-bricks.brick-value-mapping
|
|
92
|
+
properties:
|
|
93
|
+
showTagCircle: true
|
|
94
|
+
value: success
|
|
95
|
+
mapping:
|
|
96
|
+
failed:
|
|
97
|
+
color: red
|
|
98
|
+
text: 失败
|
|
99
|
+
success:
|
|
100
|
+
color: green
|
|
101
|
+
text: 正常
|
|
102
|
+
warning:
|
|
103
|
+
color: orange
|
|
104
|
+
text: 异常
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 触发点击事件(填充色标签)
|
|
108
|
+
|
|
109
|
+
设置 `triggerClickEvent` 为 true 并监听 `brick-value-mapping.click` 事件,同时通过 `dataSource` 传递附加数据。
|
|
110
|
+
|
|
111
|
+
```yaml
|
|
112
|
+
brick: presentational-bricks.brick-value-mapping
|
|
113
|
+
properties:
|
|
114
|
+
triggerClickEvent: true
|
|
115
|
+
showTagCircle: false
|
|
116
|
+
value: warning
|
|
117
|
+
dataSource:
|
|
118
|
+
id: 1001
|
|
119
|
+
name: 示例数据
|
|
120
|
+
mapping:
|
|
121
|
+
warning:
|
|
122
|
+
color: red-inverse
|
|
123
|
+
text: 紧急
|
|
124
|
+
safe:
|
|
125
|
+
color: green-inverse
|
|
126
|
+
text: 正常
|
|
127
|
+
events:
|
|
128
|
+
brick-value-mapping.click:
|
|
129
|
+
- action: console.log
|
|
130
|
+
args:
|
|
131
|
+
- "<% EVENT.detail %>"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 映射为 icon 加文字
|
|
135
|
+
|
|
136
|
+
映射结果可以包含图标和文字,通过 `icon` 和 `text` 字段配置。
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
brick: presentational-bricks.brick-value-mapping
|
|
140
|
+
properties:
|
|
141
|
+
value: 1
|
|
142
|
+
mapping:
|
|
143
|
+
1:
|
|
144
|
+
text: mapping-text
|
|
145
|
+
color: green
|
|
146
|
+
icon:
|
|
147
|
+
lib: fa
|
|
148
|
+
icon: link
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 仅映射为 icon(自定义图标大小)
|
|
152
|
+
|
|
153
|
+
不设置 `text` 时仅展示图标,通过 `iconSize` 自定义图标大小。
|
|
154
|
+
|
|
155
|
+
```yaml
|
|
156
|
+
brick: presentational-bricks.brick-value-mapping
|
|
157
|
+
properties:
|
|
158
|
+
value: 2
|
|
159
|
+
mapping:
|
|
160
|
+
2:
|
|
161
|
+
iconSize: 36
|
|
162
|
+
color: red
|
|
163
|
+
icon:
|
|
164
|
+
lib: fa
|
|
165
|
+
icon: bell
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 正则匹配
|
|
169
|
+
|
|
170
|
+
当精确匹配不到时,会将 mapping 的 key 作为正则进行匹配,使用第一个匹配成功的规则。
|
|
171
|
+
|
|
172
|
+
```yaml
|
|
173
|
+
brick: presentational-bricks.brick-value-mapping
|
|
174
|
+
properties:
|
|
175
|
+
value: hello
|
|
176
|
+
mapping:
|
|
177
|
+
".*":
|
|
178
|
+
color: orange
|
|
179
|
+
text: remapping
|
|
180
|
+
icon:
|
|
181
|
+
lib: fa
|
|
182
|
+
icon: star
|
|
183
|
+
2:
|
|
184
|
+
iconSize: 36
|
|
185
|
+
color: red
|
|
186
|
+
icon:
|
|
187
|
+
lib: fa
|
|
188
|
+
icon: bell
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### 配置跳转链接
|
|
192
|
+
|
|
193
|
+
通过 `link` 配置跳转链接,点击标签时会跳转到指定地址。注意 `link` 在 `triggerClickEvent` 为 false 时才生效。
|
|
194
|
+
|
|
195
|
+
```yaml
|
|
196
|
+
brick: presentational-bricks.brick-value-mapping
|
|
197
|
+
properties:
|
|
198
|
+
style:
|
|
199
|
+
display: inline-block
|
|
200
|
+
value: hello
|
|
201
|
+
link:
|
|
202
|
+
to: /developers/brick-book
|
|
203
|
+
mapping:
|
|
204
|
+
".*":
|
|
205
|
+
color: orange
|
|
206
|
+
text: remapping
|
|
207
|
+
icon:
|
|
208
|
+
lib: fa
|
|
209
|
+
icon: star
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 文案超出隐藏
|
|
213
|
+
|
|
214
|
+
设置 `isTextEllipsis` 为 true 时,文案超出容器会隐藏并在鼠标悬停时显示 Tooltip。
|
|
215
|
+
|
|
216
|
+
```yaml
|
|
217
|
+
brick: presentational-bricks.brick-value-mapping
|
|
218
|
+
properties:
|
|
219
|
+
style:
|
|
220
|
+
width: 80px
|
|
221
|
+
isTextEllipsis: true
|
|
222
|
+
value: longText
|
|
223
|
+
mapping:
|
|
224
|
+
longText:
|
|
225
|
+
color: blue
|
|
226
|
+
text: 这是一段非常非常长的文案用于演示超出隐藏效果
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### 无匹配时显示原始值
|
|
230
|
+
|
|
231
|
+
当 value 无法匹配到任何映射规则时,直接显示原始值。
|
|
232
|
+
|
|
233
|
+
```yaml
|
|
234
|
+
brick: presentational-bricks.brick-value-mapping
|
|
235
|
+
properties:
|
|
236
|
+
value: 1
|
|
237
|
+
mapping:
|
|
238
|
+
0:
|
|
239
|
+
text: error
|
|
240
|
+
```
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: presentational-bricks.brick-value-mapping
|
|
3
|
+
displayName: WrappedPresentationalBricksBrickValueMapping
|
|
4
|
+
description: 适用于将基本类型的数值转换成有意义的文本进行展示
|
|
5
|
+
category: data-transform
|
|
6
|
+
source: "@next-bricks/presentational-bricks"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedPresentationalBricksBrickValueMapping
|
|
10
|
+
|
|
11
|
+
> 适用于将基本类型的数值转换成有意义的文本进行展示
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedPresentationalBricksBrickValueMapping } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| ----------------- | ---------------------------------------------------- | ---- | ------- | ----------------------------------------------------------------- |
|
|
23
|
+
| value | `string \| number` | - | - | 原始值 |
|
|
24
|
+
| fields | `{ value: string; }` | - | - | [已废弃]字段映射, 跟 dataSource 一起使用来获得运行时 value |
|
|
25
|
+
| mapping | `Record< string \| number, MappingValue >` | 是 | - | 映射规则 |
|
|
26
|
+
| showTagCircle | `boolean` | - | - | 显示文字旁边的小圈圈,按照平台规范通常表示状态的标签可设置为 true |
|
|
27
|
+
| dataSource | `Record<string, any>` | - | - | 替代 `data` 属性,click 事件时传出的数据 |
|
|
28
|
+
| triggerClickEvent | `boolean` | - | `false` | 是否触发点击事件 |
|
|
29
|
+
| isTextEllipsis | `boolean` | - | `false` | 文案超出时是否隐藏溢出文本并在鼠标悬停时显示 Tooltip |
|
|
30
|
+
| link | `LinkProps` | - | - | 配置跳转链接,在 `triggerClickEvent` 为 false 生效 |
|
|
31
|
+
| data | `any` | - | - | [已废弃]可用于接收 useBrick 传递过来的数据 |
|
|
32
|
+
|
|
33
|
+
## Events
|
|
34
|
+
|
|
35
|
+
| 事件 | detail | 说明 |
|
|
36
|
+
| -------------------------- | ---------------------------------------- | ----------------------------------------------------- |
|
|
37
|
+
| onBrick-value-mappingClick | `{ data: any; value: string \| number }` | 点击事件,需设置 `triggerClickEvent` 为 true 才会触发 |
|
|
38
|
+
|
|
39
|
+
## Examples
|
|
40
|
+
|
|
41
|
+
### 基本用法 - 映射为多彩标签(带圆点)
|
|
42
|
+
|
|
43
|
+
使用 `showTagCircle` 显示状态圆点,通过 `mapping` 将不同值映射为对应的颜色标签。
|
|
44
|
+
|
|
45
|
+
```tsx
|
|
46
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
47
|
+
showTagCircle={true}
|
|
48
|
+
value="success"
|
|
49
|
+
mapping={{
|
|
50
|
+
failed: { color: "red", text: "失败" },
|
|
51
|
+
success: { color: "green", text: "正常" },
|
|
52
|
+
warning: { color: "orange", text: "异常" },
|
|
53
|
+
}}
|
|
54
|
+
/>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 触发点击事件(填充色标签)
|
|
58
|
+
|
|
59
|
+
设置 `triggerClickEvent` 为 true 并监听点击事件,同时通过 `dataSource` 传递附加数据。
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
63
|
+
triggerClickEvent={true}
|
|
64
|
+
showTagCircle={false}
|
|
65
|
+
value="warning"
|
|
66
|
+
dataSource={{ id: 1001, name: "示例数据" }}
|
|
67
|
+
mapping={{
|
|
68
|
+
warning: { color: "red-inverse", text: "紧急" },
|
|
69
|
+
safe: { color: "green-inverse", text: "正常" },
|
|
70
|
+
}}
|
|
71
|
+
onBrick-value-mappingClick={(e) => {
|
|
72
|
+
console.log(e.detail);
|
|
73
|
+
}}
|
|
74
|
+
/>
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 映射为 icon 加文字
|
|
78
|
+
|
|
79
|
+
映射结果可以包含图标和文字,通过 `icon` 和 `text` 字段配置。
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
83
|
+
value={1}
|
|
84
|
+
mapping={{
|
|
85
|
+
1: {
|
|
86
|
+
text: "mapping-text",
|
|
87
|
+
color: "green",
|
|
88
|
+
icon: { lib: "fa", icon: "link" },
|
|
89
|
+
},
|
|
90
|
+
}}
|
|
91
|
+
/>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 仅映射为 icon(自定义图标大小)
|
|
95
|
+
|
|
96
|
+
不设置 `text` 时仅展示图标,通过 `iconSize` 自定义图标大小。
|
|
97
|
+
|
|
98
|
+
```tsx
|
|
99
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
100
|
+
value={2}
|
|
101
|
+
mapping={{
|
|
102
|
+
2: {
|
|
103
|
+
iconSize: 36,
|
|
104
|
+
color: "red",
|
|
105
|
+
icon: { lib: "fa", icon: "bell" },
|
|
106
|
+
},
|
|
107
|
+
}}
|
|
108
|
+
/>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### 正则匹配
|
|
112
|
+
|
|
113
|
+
当精确匹配不到时,会将 mapping 的 key 作为正则进行匹配,使用第一个匹配成功的规则。
|
|
114
|
+
|
|
115
|
+
```tsx
|
|
116
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
117
|
+
value="hello"
|
|
118
|
+
mapping={{
|
|
119
|
+
".*": {
|
|
120
|
+
color: "orange",
|
|
121
|
+
text: "remapping",
|
|
122
|
+
icon: { lib: "fa", icon: "star" },
|
|
123
|
+
},
|
|
124
|
+
2: {
|
|
125
|
+
iconSize: 36,
|
|
126
|
+
color: "red",
|
|
127
|
+
icon: { lib: "fa", icon: "bell" },
|
|
128
|
+
},
|
|
129
|
+
}}
|
|
130
|
+
/>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 配置跳转链接
|
|
134
|
+
|
|
135
|
+
通过 `link` 配置跳转链接,点击标签时会跳转到指定地址。注意 `link` 在 `triggerClickEvent` 为 false 时才生效。
|
|
136
|
+
|
|
137
|
+
```tsx
|
|
138
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
139
|
+
style={{ display: "inline-block" }}
|
|
140
|
+
value="hello"
|
|
141
|
+
link={{ to: "/developers/brick-book" }}
|
|
142
|
+
mapping={{
|
|
143
|
+
".*": {
|
|
144
|
+
color: "orange",
|
|
145
|
+
text: "remapping",
|
|
146
|
+
icon: { lib: "fa", icon: "star" },
|
|
147
|
+
},
|
|
148
|
+
}}
|
|
149
|
+
/>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 文案超出隐藏
|
|
153
|
+
|
|
154
|
+
设置 `isTextEllipsis` 为 true 时,文案超出容器会隐藏并在鼠标悬停时显示 Tooltip。
|
|
155
|
+
|
|
156
|
+
```tsx
|
|
157
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
158
|
+
style={{ width: 80 }}
|
|
159
|
+
isTextEllipsis={true}
|
|
160
|
+
value="longText"
|
|
161
|
+
mapping={{
|
|
162
|
+
longText: {
|
|
163
|
+
color: "blue",
|
|
164
|
+
text: "这是一段非常非常长的文案用于演示超出隐藏效果",
|
|
165
|
+
},
|
|
166
|
+
}}
|
|
167
|
+
/>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 无匹配时显示原始值
|
|
171
|
+
|
|
172
|
+
当 value 无法匹配到任何映射规则时,直接显示原始值。
|
|
173
|
+
|
|
174
|
+
```tsx
|
|
175
|
+
<WrappedPresentationalBricksBrickValueMapping
|
|
176
|
+
value={1}
|
|
177
|
+
mapping={{
|
|
178
|
+
0: { text: "error" },
|
|
179
|
+
}}
|
|
180
|
+
/>
|
|
181
|
+
```
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: presentational-bricks.cost-time
|
|
3
|
+
displayName: WrappedPresentationalBricksCostTime
|
|
4
|
+
description: 耗时展示构件,将毫秒级时间自动转换为人类可读的时间文本(如"15秒"、"1天"),支持直接传入耗时或通过起止时间自动计算
|
|
5
|
+
category:
|
|
6
|
+
source: "@next-bricks/presentational-bricks"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# presentational-bricks.cost-time
|
|
10
|
+
|
|
11
|
+
> 耗时展示构件,将毫秒级时间自动转换为人类可读的时间文本(如"15 秒"、"1 天"),支持直接传入耗时或通过起止时间自动计算
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ---------- | ------------------------------------------------------------------------ | ---- | ------ | ---------------------------------------------------------------------------- |
|
|
17
|
+
| cost | `number` | - | - | 消耗时间(毫秒级) |
|
|
18
|
+
| startTime | `string \| number` | - | - | 起始时间,与 endTime 配合使用,当未传入 cost 时自动计算耗时 |
|
|
19
|
+
| endTime | `string \| number` | - | - | 结束时间,与 startTime 配合使用,当未传入 cost 时自动计算耗时 |
|
|
20
|
+
| unitStyle | `React.CSSProperties` | - | - | 时间单位文本的自定义样式,设置后将使用自定义渲染逻辑而非默认的 costTime 函数 |
|
|
21
|
+
| dataSource | `any` | - | - | [已废弃]数据源 |
|
|
22
|
+
| fields | `{ cost?: string; startTime?: string; endTime?: string; }` | - | - | [已废弃]字段映射, 跟 dataSource 一起使用来获得运行时对应字段 |
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Basic
|
|
27
|
+
|
|
28
|
+
直接传入毫秒级耗时,自动转换为可读文本
|
|
29
|
+
|
|
30
|
+
```yaml
|
|
31
|
+
brick: presentational-bricks.cost-time
|
|
32
|
+
properties:
|
|
33
|
+
cost: 123456
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 通过起止时间计算耗时
|
|
37
|
+
|
|
38
|
+
传入起始时间和结束时间,构件自动计算并展示耗时
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
brick: presentational-bricks.cost-time
|
|
42
|
+
properties:
|
|
43
|
+
startTime: 1593603641000
|
|
44
|
+
endTime: 1593603798000
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Styling
|
|
48
|
+
|
|
49
|
+
自定义时间单位文本的样式
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
brick: presentational-bricks.cost-time
|
|
53
|
+
properties:
|
|
54
|
+
cost: 7265000
|
|
55
|
+
unitStyle:
|
|
56
|
+
color: "#999"
|
|
57
|
+
fontSize: "12px"
|
|
58
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: presentational-bricks.cost-time
|
|
3
|
+
displayName: WrappedPresentationalBricksCostTime
|
|
4
|
+
description: 耗时展示构件,将毫秒级时间自动转换为人类可读的时间文本(如"15秒"、"1天"),支持直接传入耗时或通过起止时间自动计算
|
|
5
|
+
category:
|
|
6
|
+
source: "@next-bricks/presentational-bricks"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedPresentationalBricksCostTime
|
|
10
|
+
|
|
11
|
+
> 耗时展示构件,将毫秒级时间自动转换为人类可读的时间文本(如"15 秒"、"1 天"),支持直接传入耗时或通过起止时间自动计算
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedPresentationalBricksCostTime } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| ---------- | ------------------------------------------------------------------------ | ---- | ------ | ---------------------------------------------------------------------------- |
|
|
23
|
+
| cost | `number` | - | - | 消耗时间(毫秒级) |
|
|
24
|
+
| startTime | `string \| number` | - | - | 起始时间,与 endTime 配合使用,当未传入 cost 时自动计算耗时 |
|
|
25
|
+
| endTime | `string \| number` | - | - | 结束时间,与 startTime 配合使用,当未传入 cost 时自动计算耗时 |
|
|
26
|
+
| unitStyle | `React.CSSProperties` | - | - | 时间单位文本的自定义样式,设置后将使用自定义渲染逻辑而非默认的 costTime 函数 |
|
|
27
|
+
| dataSource | `any` | - | - | [已废弃]数据源 |
|
|
28
|
+
| fields | `{ cost?: string; startTime?: string; endTime?: string; }` | - | - | [已废弃]字段映射, 跟 dataSource 一起使用来获得运行时对应字段 |
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
### Basic
|
|
33
|
+
|
|
34
|
+
直接传入毫秒级耗时,自动转换为可读文本
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
<WrappedPresentationalBricksCostTime cost={123456} />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 通过起止时间计算耗时
|
|
41
|
+
|
|
42
|
+
传入起始时间和结束时间,构件自动计算并展示耗时
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
<WrappedPresentationalBricksCostTime
|
|
46
|
+
startTime={1593603641000}
|
|
47
|
+
endTime={1593603798000}
|
|
48
|
+
/>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Styling
|
|
52
|
+
|
|
53
|
+
自定义时间单位文本的样式
|
|
54
|
+
|
|
55
|
+
```tsx
|
|
56
|
+
<WrappedPresentationalBricksCostTime
|
|
57
|
+
cost={7265000}
|
|
58
|
+
unitStyle={{ color: "#999", fontSize: "12px" }}
|
|
59
|
+
/>
|
|
60
|
+
```
|