Skip to content

Commit ffef805

Browse files
authored
Merge pull request #880 from thundersdata-frontend/rn-issue
feat: 进度条组件支持非百分比模式
2 parents d13a1ef + 91b431a commit ffef805

File tree

3 files changed

+20
-3
lines changed

3 files changed

+20
-3
lines changed

.changeset/poor-phones-rule.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@td-design/lego': patch
3+
---
4+
5+
feat: 进度条组件支持非百分比模式

packages/lego/example/ProgressDemo/demo2.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export default () => {
2222
{ name: '上海', value: 78 },
2323
{ name: '成都', value: 38 },
2424
]}
25+
mode="normal"
2526
inModal
2627
/>
2728
</Modal>

packages/lego/src/progress/index.tsx

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,25 @@ export interface ProgressProps {
4141
onEvents?: Record<string, (params?: any) => void>;
4242
/** 图表渲染器 */
4343
renderer?: 'canvas' | 'svg';
44+
/** 显示模式: percentage百分比; normal数字 */
45+
mode: 'percentage' | 'normal';
4446
}
4547

4648
/**
4749
* 进度条图,对应Figma其他图6
4850
*/
4951
export default forwardRef<ReactEcharts, ProgressProps>(
5052
(
51-
{ name, data, style = { width: 300, height: 300 }, config, inModal = false, onEvents, renderer = 'canvas' },
53+
{
54+
name,
55+
data,
56+
style = { width: 300, height: 300 },
57+
config,
58+
inModal = false,
59+
mode = 'percentage',
60+
onEvents,
61+
renderer = 'canvas',
62+
},
5263
ref
5364
) => {
5465
const theme = useTheme();
@@ -111,8 +122,8 @@ export default forwardRef<ReactEcharts, ProgressProps>(
111122
z: 2,
112123
silent: true,
113124
data: data.map(item => ({
114-
name: item.value + '%',
115-
value: 100,
125+
name: item.value + (mode === 'percentage' ? '%' : ''),
126+
value: mode === 'percentage' ? 100 : Math.max(...data.map(item => +item.value)) * 2.5,
116127
})),
117128
label: {
118129
...baseBarConfig.label,

0 commit comments

Comments
 (0)