feffery_antd_components 0.1.16 → 0.2.0-rc1

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 (250) hide show
  1. package/DESCRIPTION +1 -1
  2. package/NAMESPACE +1 -0
  3. package/Project.toml +1 -1
  4. package/README-en_US.md +51 -0
  5. package/README.md +14 -5
  6. package/build/lib/feffery_antd_components/AntdAccordion.py +66 -0
  7. package/build/lib/feffery_antd_components/AntdAccordionItem.py +60 -0
  8. package/build/lib/feffery_antd_components/AntdAffix.py +58 -0
  9. package/build/lib/feffery_antd_components/AntdAlert.py +64 -0
  10. package/build/lib/feffery_antd_components/AntdAnchor.py +64 -0
  11. package/build/lib/feffery_antd_components/AntdAvatar.py +83 -0
  12. package/build/lib/feffery_antd_components/AntdBackTop.py +56 -0
  13. package/build/lib/feffery_antd_components/AntdBadge.py +74 -0
  14. package/build/lib/feffery_antd_components/AntdBreadcrumb.py +78 -0
  15. package/build/lib/feffery_antd_components/AntdButton.py +76 -0
  16. package/build/lib/feffery_antd_components/AntdCalendar.py +79 -0
  17. package/build/lib/feffery_antd_components/AntdCard.py +90 -0
  18. package/build/lib/feffery_antd_components/AntdCardGrid.py +56 -0
  19. package/build/lib/feffery_antd_components/AntdCarousel.py +60 -0
  20. package/build/lib/feffery_antd_components/AntdCascader.py +103 -0
  21. package/build/lib/feffery_antd_components/AntdCheckCard.py +64 -0
  22. package/build/lib/feffery_antd_components/AntdCheckCardGroup.py +64 -0
  23. package/build/lib/feffery_antd_components/AntdCheckbox.py +75 -0
  24. package/build/lib/feffery_antd_components/AntdCheckboxGroup.py +83 -0
  25. package/build/lib/feffery_antd_components/AntdCol.py +150 -0
  26. package/build/lib/feffery_antd_components/AntdCollapse.py +85 -0
  27. package/build/lib/feffery_antd_components/AntdComment.py +90 -0
  28. package/build/lib/feffery_antd_components/AntdContent.py +54 -0
  29. package/build/lib/feffery_antd_components/AntdCopyText.py +58 -0
  30. package/build/lib/feffery_antd_components/AntdCountdown.py +76 -0
  31. package/build/lib/feffery_antd_components/AntdCustomSkeleton.py +64 -0
  32. package/build/lib/feffery_antd_components/AntdDatePicker.py +107 -0
  33. package/build/lib/feffery_antd_components/AntdDateRangePicker.py +109 -0
  34. package/build/lib/feffery_antd_components/AntdDescriptionItem.py +62 -0
  35. package/build/lib/feffery_antd_components/AntdDescriptions.py +80 -0
  36. package/build/lib/feffery_antd_components/AntdDivider.py +66 -0
  37. package/build/lib/feffery_antd_components/AntdDraggerUpload.py +126 -0
  38. package/build/lib/feffery_antd_components/AntdDrawer.py +78 -0
  39. package/build/lib/feffery_antd_components/AntdDropdown.py +90 -0
  40. package/build/lib/feffery_antd_components/AntdEmpty.py +60 -0
  41. package/build/lib/feffery_antd_components/AntdFooter.py +54 -0
  42. package/build/lib/feffery_antd_components/AntdForm.py +76 -0
  43. package/build/lib/feffery_antd_components/AntdFormItem.py +88 -0
  44. package/build/lib/feffery_antd_components/AntdHeader.py +54 -0
  45. package/build/lib/feffery_antd_components/AntdIcon.py +56 -0
  46. package/build/lib/feffery_antd_components/AntdImage.py +66 -0
  47. package/build/lib/feffery_antd_components/AntdInput.py +121 -0
  48. package/build/lib/feffery_antd_components/AntdInputNumber.py +109 -0
  49. package/build/lib/feffery_antd_components/AntdLayout.py +54 -0
  50. package/build/lib/feffery_antd_components/AntdMentions.py +80 -0
  51. package/build/lib/feffery_antd_components/AntdMenu.py +85 -0
  52. package/build/lib/feffery_antd_components/AntdMessage.py +60 -0
  53. package/build/lib/feffery_antd_components/AntdModal.py +94 -0
  54. package/build/lib/feffery_antd_components/AntdNotification.py +64 -0
  55. package/build/lib/feffery_antd_components/AntdPageHeader.py +66 -0
  56. package/build/lib/feffery_antd_components/AntdPagination.py +99 -0
  57. package/build/lib/feffery_antd_components/AntdParagraph.py +74 -0
  58. package/build/lib/feffery_antd_components/AntdPasteImage.py +56 -0
  59. package/build/lib/feffery_antd_components/AntdPictureUpload.py +148 -0
  60. package/build/lib/feffery_antd_components/AntdPopconfirm.py +86 -0
  61. package/build/lib/feffery_antd_components/AntdPopover.py +78 -0
  62. package/build/lib/feffery_antd_components/AntdPopupCard.py +72 -0
  63. package/build/lib/feffery_antd_components/AntdProgress.py +92 -0
  64. package/{feffery_antd_components → build/lib/feffery_antd_components}/AntdRadio.py +0 -0
  65. package/build/lib/feffery_antd_components/AntdRadioGroup.py +93 -0
  66. package/build/lib/feffery_antd_components/AntdRate.py +64 -0
  67. package/build/lib/feffery_antd_components/AntdResult.py +58 -0
  68. package/build/lib/feffery_antd_components/AntdRibbon.py +58 -0
  69. package/build/lib/feffery_antd_components/AntdRow.py +76 -0
  70. package/build/lib/feffery_antd_components/AntdSegmented.py +91 -0
  71. package/build/lib/feffery_antd_components/AntdSegmentedColoring.py +86 -0
  72. package/build/lib/feffery_antd_components/AntdSelect.py +127 -0
  73. package/build/lib/feffery_antd_components/AntdSider.py +72 -0
  74. package/build/lib/feffery_antd_components/AntdSkeleton.py +90 -0
  75. package/build/lib/feffery_antd_components/AntdSkeletonAvatar.py +50 -0
  76. package/build/lib/feffery_antd_components/AntdSkeletonButton.py +52 -0
  77. package/build/lib/feffery_antd_components/AntdSkeletonImage.py +44 -0
  78. package/build/lib/feffery_antd_components/AntdSkeletonInput.py +48 -0
  79. package/build/lib/feffery_antd_components/AntdSlider.py +74 -0
  80. package/build/lib/feffery_antd_components/AntdSpace.py +64 -0
  81. package/build/lib/feffery_antd_components/AntdSpin.py +72 -0
  82. package/build/lib/feffery_antd_components/AntdStatistic.py +78 -0
  83. package/build/lib/feffery_antd_components/AntdSteps.py +76 -0
  84. package/build/lib/feffery_antd_components/AntdSwitch.py +81 -0
  85. package/build/lib/feffery_antd_components/AntdTabPane.py +68 -0
  86. package/build/lib/feffery_antd_components/AntdTable.py +361 -0
  87. package/build/lib/feffery_antd_components/AntdTabs.py +97 -0
  88. package/build/lib/feffery_antd_components/AntdTag.py +58 -0
  89. package/{feffery_antd_components → build/lib/feffery_antd_components}/AntdTestLink.py +0 -0
  90. package/build/lib/feffery_antd_components/AntdText.py +76 -0
  91. package/build/lib/feffery_antd_components/AntdTimePicker.py +99 -0
  92. package/build/lib/feffery_antd_components/AntdTimeRangePicker.py +99 -0
  93. package/build/lib/feffery_antd_components/AntdTimeline.py +72 -0
  94. package/build/lib/feffery_antd_components/AntdTitle.py +78 -0
  95. package/build/lib/feffery_antd_components/AntdTooltip.py +68 -0
  96. package/build/lib/feffery_antd_components/AntdTransfer.py +103 -0
  97. package/build/lib/feffery_antd_components/AntdTree.py +109 -0
  98. package/build/lib/feffery_antd_components/AntdTreeSelect.py +115 -0
  99. package/{feffery_antd_components → build/lib/feffery_antd_components}/AntdTypography.py +0 -0
  100. package/build/lib/feffery_antd_components/AntdUpload.py +124 -0
  101. package/build/lib/feffery_antd_components/AntdWatermark.py +68 -0
  102. package/{feffery_antd_components → build/lib/feffery_antd_components}/Link.py +0 -0
  103. package/build/lib/feffery_antd_components/__init__.py +53 -0
  104. package/build/lib/feffery_antd_components/_imports_.py +189 -0
  105. package/build/lib/feffery_antd_components/feffery_antd_components.min.js +1 -0
  106. package/build/lib/feffery_antd_components/metadata.json +19958 -0
  107. package/build/lib/feffery_antd_components/package-info.json +89 -0
  108. package/feffery_antd_components/AntdAlert.py +1 -1
  109. package/feffery_antd_components/AntdAnchor.py +1 -1
  110. package/feffery_antd_components/AntdAvatar.py +1 -1
  111. package/feffery_antd_components/AntdBackTop.py +1 -1
  112. package/feffery_antd_components/AntdButton.py +10 -6
  113. package/feffery_antd_components/AntdCarousel.py +1 -1
  114. package/feffery_antd_components/AntdCascader.py +9 -5
  115. package/feffery_antd_components/AntdCol.py +1 -1
  116. package/feffery_antd_components/AntdContent.py +1 -1
  117. package/feffery_antd_components/AntdCustomSkeleton.py +1 -1
  118. package/feffery_antd_components/AntdDraggerUpload.py +1 -1
  119. package/feffery_antd_components/AntdDrawer.py +1 -1
  120. package/feffery_antd_components/AntdFooter.py +1 -1
  121. package/feffery_antd_components/AntdHeader.py +1 -1
  122. package/feffery_antd_components/AntdIcon.py +8 -4
  123. package/feffery_antd_components/AntdImage.py +1 -1
  124. package/feffery_antd_components/AntdInput.py +16 -8
  125. package/feffery_antd_components/AntdInputNumber.py +11 -7
  126. package/feffery_antd_components/AntdLayout.py +1 -1
  127. package/feffery_antd_components/AntdModal.py +10 -4
  128. package/feffery_antd_components/AntdParagraph.py +1 -1
  129. package/feffery_antd_components/AntdPasteImage.py +1 -1
  130. package/feffery_antd_components/AntdPopupCard.py +72 -0
  131. package/feffery_antd_components/AntdRibbon.py +3 -3
  132. package/feffery_antd_components/AntdRow.py +1 -1
  133. package/feffery_antd_components/AntdSegmented.py +5 -3
  134. package/feffery_antd_components/AntdSegmentedColoring.py +7 -3
  135. package/feffery_antd_components/AntdSider.py +1 -1
  136. package/feffery_antd_components/AntdSkeleton.py +1 -1
  137. package/feffery_antd_components/AntdSpace.py +1 -1
  138. package/feffery_antd_components/AntdSpin.py +2 -2
  139. package/feffery_antd_components/AntdStatistic.py +1 -1
  140. package/feffery_antd_components/AntdTabPane.py +1 -1
  141. package/feffery_antd_components/AntdTable.py +55 -7
  142. package/feffery_antd_components/AntdTag.py +1 -1
  143. package/feffery_antd_components/AntdText.py +1 -1
  144. package/feffery_antd_components/AntdTitle.py +1 -1
  145. package/feffery_antd_components/AntdTree.py +6 -4
  146. package/feffery_antd_components/AntdTreeSelect.py +8 -6
  147. package/feffery_antd_components/_imports_.py +2 -0
  148. package/feffery_antd_components/feffery_antd_components.min.js +1 -1
  149. package/feffery_antd_components/metadata.json +1042 -93
  150. package/feffery_antd_components/package-info.json +6 -2
  151. package/git-operations.md +0 -1
  152. package/images//345/233/275/351/231/205/345/214/226/347/244/272/344/276/213.png +0 -0
  153. package/package.json +6 -2
  154. package/setup.py +0 -1
  155. package/src/FefferyAntdComponents.jl +4 -3
  156. package/src/jl/'feffery'_antdalert.jl +1 -1
  157. package/src/jl/'feffery'_antdanchor.jl +1 -1
  158. package/src/jl/'feffery'_antdavatar.jl +1 -1
  159. package/src/jl/'feffery'_antdbacktop.jl +1 -1
  160. package/src/jl/'feffery'_antdbutton.jl +4 -2
  161. package/src/jl/'feffery'_antdcarousel.jl +1 -1
  162. package/src/jl/'feffery'_antdcascader.jl +4 -2
  163. package/src/jl/'feffery'_antdcol.jl +1 -1
  164. package/src/jl/'feffery'_antdcontent.jl +1 -1
  165. package/src/jl/'feffery'_antdcustomskeleton.jl +1 -1
  166. package/src/jl/'feffery'_antddraggerupload.jl +1 -1
  167. package/src/jl/'feffery'_antddrawer.jl +1 -1
  168. package/src/jl/'feffery'_antdfooter.jl +1 -1
  169. package/src/jl/'feffery'_antdheader.jl +1 -1
  170. package/src/jl/'feffery'_antdicon.jl +4 -2
  171. package/src/jl/'feffery'_antdimage.jl +1 -1
  172. package/src/jl/'feffery'_antdinput.jl +8 -4
  173. package/src/jl/'feffery'_antdinputnumber.jl +5 -3
  174. package/src/jl/'feffery'_antdlayout.jl +1 -1
  175. package/src/jl/'feffery'_antdmodal.jl +5 -2
  176. package/src/jl/'feffery'_antdparagraph.jl +1 -1
  177. package/src/jl/'feffery'_antdpasteimage.jl +1 -1
  178. package/src/jl/'feffery'_antdpopupcard.jl +43 -0
  179. package/src/jl/'feffery'_antdribbon.jl +1 -1
  180. package/src/jl/'feffery'_antdrow.jl +1 -1
  181. package/src/jl/'feffery'_antdsegmented.jl +5 -4
  182. package/src/jl/'feffery'_antdsegmentedcoloring.jl +3 -1
  183. package/src/jl/'feffery'_antdsider.jl +1 -1
  184. package/src/jl/'feffery'_antdskeleton.jl +1 -1
  185. package/src/jl/'feffery'_antdspace.jl +1 -1
  186. package/src/jl/'feffery'_antdspin.jl +2 -2
  187. package/src/jl/'feffery'_antdstatistic.jl +1 -1
  188. package/src/jl/'feffery'_antdtable.jl +31 -4
  189. package/src/jl/'feffery'_antdtabpane.jl +1 -1
  190. package/src/jl/'feffery'_antdtag.jl +1 -1
  191. package/src/jl/'feffery'_antdtext.jl +1 -1
  192. package/src/jl/'feffery'_antdtitle.jl +1 -1
  193. package/src/jl/'feffery'_antdtree.jl +3 -2
  194. package/src/jl/'feffery'_antdtreeselect.jl +3 -2
  195. package/src/lib/components/AntdAlert.react.js +64 -50
  196. package/src/lib/components/AntdAnchor.react.js +79 -70
  197. package/src/lib/components/AntdAvatar.react.js +92 -76
  198. package/src/lib/components/AntdBackTop.react.js +37 -28
  199. package/src/lib/components/AntdButton.react.js +82 -54
  200. package/src/lib/components/AntdCarousel.react.js +43 -34
  201. package/src/lib/components/AntdCascader.react.js +128 -82
  202. package/src/lib/components/AntdCheckboxGroup.react.js +2 -0
  203. package/src/lib/components/AntdDrawer.react.js +68 -59
  204. package/src/lib/components/AntdIcon.react.js +70 -37
  205. package/src/lib/components/AntdImage.react.js +16 -3
  206. package/src/lib/components/AntdInput.react.js +212 -175
  207. package/src/lib/components/AntdInputNumber.react.js +12 -2
  208. package/src/lib/components/AntdModal.react.js +22 -1
  209. package/src/lib/components/AntdPasteImage.react.js +11 -2
  210. package/src/lib/components/AntdPopupCard.react.js +241 -0
  211. package/src/lib/components/AntdRibbon.react.js +1 -1
  212. package/src/lib/components/AntdSegmented.react.js +19 -4
  213. package/src/lib/components/AntdSegmentedColoring.react.js +107 -82
  214. package/src/lib/components/AntdSelect.react.js +5 -0
  215. package/src/lib/components/AntdSpace.react.js +63 -46
  216. package/src/lib/components/AntdSpin.react.js +21 -6
  217. package/src/lib/components/AntdStatistic.react.js +68 -59
  218. package/src/lib/components/AntdTable.react.js +252 -18
  219. package/src/lib/components/AntdTag.react.js +38 -28
  220. package/src/lib/components/AntdTree.react.js +182 -136
  221. package/src/lib/components/AntdTreeSelect.react.js +144 -101
  222. package/src/lib/components/grid/AntdCol.react.js +61 -52
  223. package/src/lib/components/grid/AntdRow.react.js +46 -37
  224. package/src/lib/components/layout/AntdContent.react.js +35 -26
  225. package/src/lib/components/layout/AntdFooter.react.js +36 -27
  226. package/src/lib/components/layout/AntdHeader.react.js +35 -26
  227. package/src/lib/components/layout/AntdLayout.react.js +35 -26
  228. package/src/lib/components/layout/AntdSider.react.js +61 -52
  229. package/src/lib/components/skeleton/AntdCustomSkeleton.react.js +11 -3
  230. package/src/lib/components/skeleton/AntdSkeleton.react.js +11 -2
  231. package/src/lib/components/styles.css +4 -0
  232. package/src/lib/components/tabs/AntdTabPane.react.js +46 -37
  233. package/src/lib/components/typography/AntdParagraph.react.js +59 -50
  234. package/src/lib/components/typography/AntdText.react.js +61 -52
  235. package/src/lib/components/typography/AntdTitle.react.js +63 -54
  236. package/src/lib/components/upload/AntdDraggerUpload.react.js +11 -2
  237. package/src/lib/components/utils.js +17 -2
  238. package/src/lib/index.js +24 -1
  239. package/tests/DebounceTest/app.py +89 -0
  240. package/tests/SegmentedColoringTest/app.py +106 -0
  241. package/tests/TableCellClickTest/app.py +67 -0
  242. package/tests/TableCellRowMergeTest/app.py +88 -0
  243. package/tests/TableEmptyContentTest/app.py +37 -0
  244. package/tests/TableMiniChartAdvanceTest/app.py +85 -0
  245. package/tests/TreeNodeStyleTest/app.py +73 -0
  246. package/tests/TreeTest/app.py +96 -0
  247. package/tests/VirtualClassNameTest/app.py +49 -0
  248. package/usage.py +11 -82
  249. package/webpack.config.js +45 -11
  250. package/tests/UploadTest/app.py +0 -70
@@ -1,84 +1,95 @@
1
1
  import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Avatar } from 'antd';
4
+ import { useCss } from 'react-use';
5
+ import { isString } from 'lodash';
4
6
  import AntdIcon from './AntdIcon.react';
5
7
  import 'antd/dist/antd.css';
6
8
 
7
9
  // 定义头像组件AntdAvatar,api参数参考https://ant.design/components/avatar-cn/
8
- export default class AntdAvatar extends Component {
9
- render() {
10
- // 取得必要属性或参数
11
- let {
12
- id,
13
- className,
14
- style,
15
- key,
16
- mode,
17
- text,
18
- src,
19
- srcSet,
20
- icon,
21
- alt,
22
- gap,
23
- size,
24
- shape,
25
- loading_state,
26
- setProps
27
- } = this.props;
28
-
29
- // image图片模式
30
- if (mode === 'image') {
31
- return (
32
- <Avatar
33
- id={id}
34
- className={className}
35
- style={style}
36
- key={key}
37
- src={src}
38
- srcSet={srcSet}
39
- alt={alt}
40
- size={size}
41
- shape={shape}
42
- data-dash-is-loading={
43
- (loading_state && loading_state.is_loading) || undefined
44
- }
45
- />
46
- );
47
- } else if (mode === 'text') {
48
-
49
- // text文字模式
50
- return (
51
- <Avatar
52
- id={id}
53
- className={className}
54
- style={style}
55
- key={key}
56
- gap={gap}
57
- size={size}
58
- shape={shape}
59
- data-dash-is-loading={
60
- (loading_state && loading_state.is_loading) || undefined
61
- }
62
- >{text}</Avatar>
63
- );
64
- } else {
65
- // icon图标模式
66
- return (
67
- <Avatar
68
- id={id}
69
- className={className}
70
- style={style}
71
- key={key}
72
- icon={icon ? <AntdIcon icon={icon} /> : <AntdIcon icon={'antd-user'} />}
73
- size={size}
74
- shape={shape}
75
- data-dash-is-loading={
76
- (loading_state && loading_state.is_loading) || undefined
77
- }
78
- />
79
- );
80
- }
81
-
10
+ const AntdAvatar = (props) => {
11
+ // 取得必要属性或参数
12
+ let {
13
+ id,
14
+ className,
15
+ style,
16
+ key,
17
+ mode,
18
+ text,
19
+ src,
20
+ srcSet,
21
+ icon,
22
+ alt,
23
+ gap,
24
+ size,
25
+ shape,
26
+ loading_state,
27
+ setProps
28
+ } = props;
29
+
30
+ // image图片模式
31
+ if (mode === 'image') {
32
+ return (
33
+ <Avatar
34
+ id={id}
35
+ className={
36
+ isString(className) ?
37
+ className :
38
+ useCss(className)
39
+ }
40
+ style={style}
41
+ key={key}
42
+ src={src}
43
+ srcSet={srcSet}
44
+ alt={alt}
45
+ size={size}
46
+ shape={shape}
47
+ data-dash-is-loading={
48
+ (loading_state && loading_state.is_loading) || undefined
49
+ }
50
+ />
51
+ );
52
+ } else if (mode === 'text') {
53
+
54
+ // text文字模式
55
+ return (
56
+ <Avatar
57
+ id={id}
58
+ className={
59
+ isString(className) ?
60
+ className :
61
+ useCss(className)
62
+ }
63
+ style={style}
64
+ key={key}
65
+ gap={gap}
66
+ size={size}
67
+ shape={shape}
68
+ data-dash-is-loading={
69
+ (loading_state && loading_state.is_loading) || undefined
70
+ }
71
+ >{text}</Avatar>
72
+ );
73
+ } else {
74
+ // icon图标模式
75
+ return (
76
+ <Avatar
77
+ id={id}
78
+ className={
79
+ isString(className) ?
80
+ className :
81
+ useCss(className)
82
+ }
83
+ style={style}
84
+ key={key}
85
+ icon={icon ? <AntdIcon icon={icon} /> : <AntdIcon icon={'antd-user'} />}
86
+ size={size}
87
+ shape={shape}
88
+ data-dash-is-loading={
89
+ (loading_state && loading_state.is_loading) || undefined
90
+ }
91
+ />
92
+ );
82
93
  }
83
94
  }
84
95
 
@@ -88,7 +99,10 @@ AntdAvatar.propTypes = {
88
99
  id: PropTypes.string,
89
100
 
90
101
  // css类名
91
- className: PropTypes.string,
102
+ className: PropTypes.oneOfType([
103
+ PropTypes.string,
104
+ PropTypes.object
105
+ ]),
92
106
 
93
107
  // 自定义css字典
94
108
  style: PropTypes.object,
@@ -164,4 +178,6 @@ AntdAvatar.propTypes = {
164
178
  // 设置默认参数
165
179
  AntdAvatar.defaultProps = {
166
180
  mode: 'icon'
167
- }
181
+ }
182
+
183
+ export default AntdAvatar;
@@ -1,37 +1,41 @@
1
1
  import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { useCss } from 'react-use';
4
+ import { isString } from 'lodash';
3
5
  import { BackTop } from 'antd';
4
6
  import 'antd/dist/antd.css';
5
7
 
6
8
  // 定义回到顶部组件AntdBackTop,api参数参考https://ant.design/components/back-top-cn/
7
- export default class AntdBackTop extends Component {
8
- render() {
9
- // 取得必要属性或参数
10
- let {
11
- id,
12
- className,
13
- style,
14
- key,
15
- duration,
16
- visibilityHeight,
17
- containerId,
18
- setProps,
19
- loading_state
20
- } = this.props;
9
+ const AntdBackTop = (props) => {
10
+ // 取得必要属性或参数
11
+ let {
12
+ id,
13
+ className,
14
+ style,
15
+ key,
16
+ duration,
17
+ visibilityHeight,
18
+ containerId,
19
+ setProps,
20
+ loading_state
21
+ } = props;
21
22
 
22
- return (
23
- <BackTop id={id}
24
- className={className}
25
- style={style}
26
- key={key}
27
- target={containerId ? () => document.getElementById(containerId) : () => window}
28
- duration={duration * 1000}
29
- visibilityHeight={visibilityHeight}
30
- data-dash-is-loading={
31
- (loading_state && loading_state.is_loading) || undefined
32
- } />
33
- );
34
- }
23
+ return (
24
+ <BackTop id={id}
25
+ className={
26
+ isString(className) ?
27
+ className :
28
+ useCss(className)
29
+ }
30
+ style={style}
31
+ key={key}
32
+ target={containerId ? () => document.getElementById(containerId) : () => window}
33
+ duration={duration * 1000}
34
+ visibilityHeight={visibilityHeight}
35
+ data-dash-is-loading={
36
+ (loading_state && loading_state.is_loading) || undefined
37
+ } />
38
+ );
35
39
  }
36
40
 
37
41
  // 定义参数或属性
@@ -40,7 +44,10 @@ AntdBackTop.propTypes = {
40
44
  id: PropTypes.string,
41
45
 
42
46
  // css类名
43
- className: PropTypes.string,
47
+ className: PropTypes.oneOfType([
48
+ PropTypes.string,
49
+ PropTypes.object
50
+ ]),
44
51
 
45
52
  // 自定义css字典
46
53
  style: PropTypes.object,
@@ -82,3 +89,5 @@ AntdBackTop.propTypes = {
82
89
  // 设置默认参数
83
90
  AntdBackTop.defaultProps = {
84
91
  }
92
+
93
+ export default AntdBackTop;
@@ -1,60 +1,76 @@
1
- import React, { Component } from 'react';
2
1
  import PropTypes from 'prop-types';
3
2
  import { Button } from 'antd';
3
+ import { useCss } from 'react-use';
4
+ import { isString } from 'lodash';
4
5
  import 'antd/dist/antd.css';
6
+ import { useRequest } from 'ahooks';
5
7
 
6
8
  // 定义分割线组件AntdButton,api参数参考https://ant.design/components/button-cn/
7
- export default class AntdButton extends Component {
8
- render() {
9
- // 取得必要属性或参数
10
- let {
11
- id,
12
- children,
13
- className,
14
- style,
15
- key,
16
- setProps,
17
- type,
18
- href,
19
- target,
20
- block,
21
- danger,
22
- disabled,
23
- shape,
24
- size,
25
- nClicks,
26
- loading,
27
- loading_state
28
- } = this.props;
29
-
30
- // 返回定制化的前端组件
31
- return (
32
- <Button
33
- id={id}
34
- className={className}
35
- style={style}
36
- key={key}
37
- type={type}
38
- href={href}
39
- target={target}
40
- block={block}
41
- danger={danger}
42
- disabled={disabled}
43
- shape={shape}
44
- size={size}
45
- onClick={(e) => {
46
- nClicks++;
47
- // 更新nClicks
48
- setProps({ nClicks: nClicks })
49
- }}
50
- loading={loading}
51
- data-dash-is-loading={
52
- (loading_state && loading_state.is_loading) || undefined
53
- }
54
- >{children}
55
- </Button>
56
- );
57
- }
9
+ const AntdButton = (props) => {
10
+ // 取得必要属性或参数
11
+ let {
12
+ id,
13
+ children,
14
+ className,
15
+ style,
16
+ key,
17
+ setProps,
18
+ type,
19
+ href,
20
+ target,
21
+ block,
22
+ danger,
23
+ disabled,
24
+ shape,
25
+ size,
26
+ nClicks,
27
+ debounceWait,
28
+ icon,
29
+ loading,
30
+ loading_state
31
+ } = props;
32
+
33
+ const { run: onClick } = useRequest(
34
+ () => {
35
+ nClicks++;
36
+ // 更新nClicks
37
+ setProps({ nClicks: nClicks })
38
+ },
39
+ {
40
+ debounceWait: debounceWait,
41
+ debounceLeading: true,
42
+ manual: true
43
+ }
44
+ )
45
+
46
+ // 返回定制化的前端组件
47
+ return (
48
+ <Button
49
+ id={id}
50
+ className={
51
+ isString(className) ?
52
+ className :
53
+ useCss(className)
54
+ }
55
+ style={style}
56
+ key={key}
57
+ type={type}
58
+ href={href}
59
+ target={target}
60
+ block={block}
61
+ danger={danger}
62
+ disabled={disabled}
63
+ shape={shape}
64
+ size={size}
65
+ icon={icon}
66
+ onClick={onClick}
67
+ loading={loading}
68
+ data-dash-is-loading={
69
+ (loading_state && loading_state.is_loading) || undefined
70
+ }
71
+ >{children}
72
+ </Button>
73
+ );
58
74
  }
59
75
 
60
76
  // 定义参数或属性
@@ -66,7 +82,10 @@ AntdButton.propTypes = {
66
82
  children: PropTypes.node,
67
83
 
68
84
  // css类名
69
- className: PropTypes.string,
85
+ className: PropTypes.oneOfType([
86
+ PropTypes.string,
87
+ PropTypes.object
88
+ ]),
70
89
 
71
90
  // 自定义css字典
72
91
  style: PropTypes.object,
@@ -101,6 +120,12 @@ AntdButton.propTypes = {
101
120
  // 记录按钮从渲染后开始被点击的次数,默认为0
102
121
  nClicks: PropTypes.number,
103
122
 
123
+ // 用于配置value变化更新的防抖等待时长(单位:毫秒),默认为0
124
+ debounceWait: PropTypes.number,
125
+
126
+ // 组件型参数,设置按钮前缀图标元素
127
+ icon: PropTypes.node,
128
+
104
129
  // 用于设置是否为按钮渲染“加载中不可点击”效果,默认为false
105
130
  loading: PropTypes.bool,
106
131
 
@@ -132,5 +157,8 @@ AntdButton.defaultProps = {
132
157
  block: false,
133
158
  danger: false,
134
159
  disabled: false,
135
- nClicks: 0
160
+ nClicks: 0,
161
+ debounceWait: 0
136
162
  }
163
+
164
+ export default AntdButton;
@@ -1,42 +1,46 @@
1
1
  import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Carousel } from 'antd';
4
+ import { useCss } from 'react-use';
5
+ import { isString } from 'lodash';
4
6
  import 'antd/dist/antd.css';
5
7
 
6
8
  // 定义走马灯组件AntdCarousel,api参数参考https://ant.design/components/carousel-cn/
7
- export default class AntdCarousel extends Component {
8
- render() {
9
- // 取得必要属性或参数
10
- let {
11
- id,
12
- children,
13
- className,
14
- style,
15
- key,
16
- autoplay,
17
- dotPosition,
18
- easing,
19
- effect,
20
- loading_state,
21
- setProps
22
- } = this.props;
9
+ const AntdCarousel = (props) => {
10
+ // 取得必要属性或参数
11
+ let {
12
+ id,
13
+ children,
14
+ className,
15
+ style,
16
+ key,
17
+ autoplay,
18
+ dotPosition,
19
+ easing,
20
+ effect,
21
+ loading_state,
22
+ setProps
23
+ } = props;
23
24
 
24
- return (
25
- <Carousel
26
- id={id}
27
- className={className}
28
- style={style}
29
- key={key}
30
- autoplay={autoplay}
31
- dotPosition={dotPosition}
32
- easing={easing}
33
- effect={effect}
34
- data-dash-is-loading={
35
- (loading_state && loading_state.is_loading) || undefined
36
- }
37
- >{children}</Carousel>
38
- );
39
- }
25
+ return (
26
+ <Carousel
27
+ id={id}
28
+ className={
29
+ isString(className) ?
30
+ className :
31
+ useCss(className)
32
+ }
33
+ style={style}
34
+ key={key}
35
+ autoplay={autoplay}
36
+ dotPosition={dotPosition}
37
+ easing={easing}
38
+ effect={effect}
39
+ data-dash-is-loading={
40
+ (loading_state && loading_state.is_loading) || undefined
41
+ }
42
+ >{children}</Carousel>
43
+ );
40
44
  }
41
45
 
42
46
  // 定义参数或属性
@@ -48,7 +52,10 @@ AntdCarousel.propTypes = {
48
52
  children: PropTypes.node,
49
53
 
50
54
  // css类名
51
- className: PropTypes.string,
55
+ className: PropTypes.oneOfType([
56
+ PropTypes.string,
57
+ PropTypes.object
58
+ ]),
52
59
 
53
60
  // 自定义css字典
54
61
  style: PropTypes.object,
@@ -92,4 +99,6 @@ AntdCarousel.propTypes = {
92
99
 
93
100
  // 设置默认参数
94
101
  AntdCarousel.defaultProps = {
95
- }
102
+ }
103
+
104
+ export default AntdCarousel;