plain-design 1.0.0-beta.33 → 1.0.0-beta.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. package/dist/plain-design.commonjs.min.js +18 -18
  2. package/dist/plain-design.min.css +1 -1
  3. package/dist/plain-design.min.js +18 -18
  4. package/dist/report.html +38 -38
  5. package/package.json +3 -2
  6. package/src/packages/components/Dropdown/dropdown.public.scss +10 -0
  7. package/src/packages/components/Dropdown/dropdown.utils.tsx +3 -1
  8. package/src/packages/components/Dropdown/index.tsx +2 -2
  9. package/src/packages/components/DropdownSeparator/index.tsx +8 -0
  10. package/src/packages/entry.tsx +1 -0
  11. package/src/pages/data/address.json +0 -39317
  12. package/src/pages/data/data-1.json +0 -754
  13. package/src/pages/data/data-2.json +0 -3006
  14. package/src/pages/data/data-200.json +0 -5206
  15. package/src/pages/data/data-2000.json +0 -51954
  16. package/src/pages/data/data-50.json +0 -2075
  17. package/src/pages/data/data.json +0 -30002
  18. package/src/pages/data/demo.json +0 -1702
  19. package/src/pages/data/mock.database.js +0 -43
  20. package/src/pages/data/mock.js +0 -141
  21. package/src/pages/data/tree.data.json +0 -87
  22. package/src/pages/env/config/local.js +0 -3
  23. package/src/pages/env/config/prod.js +0 -3
  24. package/src/pages/env/config/undefined.js +0 -1
  25. package/src/pages/env/env.d.ts +0 -4
  26. package/src/pages/env/index.ts +0 -1
  27. package/src/pages/history/createHistory.ts +0 -94
  28. package/src/pages/history/history.utils.ts +0 -64
  29. package/src/pages/index/App.tsx +0 -17
  30. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  31. package/src/pages/index/Demo/DemoRow.scss +0 -131
  32. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  33. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  34. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  35. package/src/pages/index/Demo/index.ts +0 -8
  36. package/src/pages/index/app.scss +0 -197
  37. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -56
  38. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  39. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  40. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  41. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  42. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  43. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  44. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  45. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  46. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  47. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  48. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  49. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  50. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  51. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  52. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  53. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  54. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  55. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  56. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  57. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  58. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  59. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  60. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  61. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  62. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  63. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  64. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  65. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  66. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  67. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  68. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  69. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  70. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  71. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  72. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  73. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -230
  74. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  75. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  76. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  77. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  78. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  79. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  80. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  81. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  82. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  83. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -463
  84. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  85. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  86. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  87. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  88. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  89. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  90. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  91. package/src/pages/index/components/normal/DemoLayout.tsx +0 -144
  92. package/src/pages/index/components/normal/DemoList.scss +0 -15
  93. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  94. package/src/pages/index/components/normal/DemoLoading.tsx +0 -86
  95. package/src/pages/index/components/normal/DemoNumber.tsx +0 -269
  96. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  97. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  98. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  99. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  100. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  101. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  102. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  103. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  104. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  105. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  106. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  107. package/src/pages/index/components/normal/DemoSortList.tsx +0 -70
  108. package/src/pages/index/components/normal/DemoStackCard.tsx +0 -356
  109. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  110. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  111. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  112. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  113. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  114. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  115. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  116. package/src/pages/index/components/normal/DemoTree.tsx +0 -1183
  117. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  118. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -464
  119. package/src/pages/index/components/service/DemoDialogService.tsx +0 -249
  120. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  121. package/src/pages/index/components/service/DemoImagePreviewer.tsx +0 -185
  122. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  123. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  124. package/src/pages/index/components/service/DemoPopupService.tsx +0 -325
  125. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  126. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  127. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  128. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  129. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  130. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  131. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  132. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -203
  133. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  134. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  135. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  136. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  137. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  138. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  139. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  140. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  141. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  142. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  143. package/src/pages/index/home/AppContent.tsx +0 -69
  144. package/src/pages/index/home/AppHead.tsx +0 -18
  145. package/src/pages/index/home/AppHome.tsx +0 -31
  146. package/src/pages/index/home/AppMenu.tsx +0 -38
  147. package/src/pages/index/home/menus.tsx +0 -220
  148. package/src/pages/index/home/plain-design.png +0 -0
  149. package/src/pages/index/main.tsx +0 -23
  150. package/src/pages/index/nav/$nav.ts +0 -41
  151. package/src/pages/index/pages.d.ts +0 -6
  152. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  153. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  154. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  155. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  156. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  157. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  158. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  159. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  160. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  161. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  162. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  163. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  164. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  165. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  166. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  167. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  168. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  169. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  170. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  171. package/src/pages/module/address.ts +0 -27
  172. package/src/pages/module/http.ts +0 -24
  173. package/src/pages/module/index.ts +0 -19
  174. package/src/pages/module/object.ts +0 -5
  175. package/src/pages/module/ov.tsx +0 -13
  176. package/src/pages/module/upload.ts +0 -9
  177. package/src/pages/module/useTableOption.ts +0 -28
@@ -1,249 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$dialog, $message, Button, Input, useDialog} from "../../../../packages";
4
- import {DemoLine} from "../../Demo/DemoLine";
5
-
6
- export const demo1 = designPage(() => {
7
-
8
- const { $dialog } = useDialog();
9
-
10
- return () => (
11
- <DemoRow title="基本用法">
12
- <Button label="show dialog message" onClick={() => $dialog('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')}/>
13
- </DemoRow>
14
- );
15
- });
16
-
17
- export const demo2 = designPage(() => {
18
-
19
- const { $dialog } = useDialog();
20
-
21
- return () => (
22
- <DemoRow title="超长文本,最大宽高">
23
- <Button label="show dialog message" onClick={() => $dialog({
24
- message: new Array(100).fill('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。').join(''),
25
- maxWidth: '50vw',
26
- maxHeight: '80vh',
27
- })}/>
28
- </DemoRow>
29
- );
30
- });
31
-
32
- export const demo3 = designPage(() => {
33
-
34
- const { $dialog } = useDialog();
35
-
36
- return () => (
37
- <DemoRow title="状态">
38
- <DemoLine>
39
- <Button label="default" onClick={() => $dialog('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')}/>
40
- <Button label="Primary" onClick={() => $dialog({ message: '今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。', status: 'primary' })} status="primary" mode="fill"/>
41
- <Button label="Success" onClick={() => $dialog({ message: '今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。', title: '提交成功', status: 'success' })} status="success" mode="fill"/>
42
- <Button label="Warn" onClick={() => $dialog({ message: '今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。', title: '请先完成登记', status: 'warn' })} status="warn" mode="fill"/>
43
- <Button label="Error" onClick={() => $dialog({ message: '今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。', title: '提交失败', status: 'error' })} status="error" mode="fill"/>
44
- <Button label="Secondary" onClick={() => $dialog({ message: '今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。', title: '系统提示', status: 'secondary' })} status="secondary" mode="fill"/>
45
- </DemoLine>
46
- <br/>
47
- <DemoLine>
48
- <Button label="$dialog.primary" onClick={() => $dialog.primary('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')} status="primary" mode="fill"/>
49
- <Button label="$dialog.success" onClick={() => $dialog.success('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')} status="success" mode="fill"/>
50
- <Button label="$dialog.warn" onClick={() => $dialog.warn('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')} status="warn" mode="fill"/>
51
- <Button label="$dialog.error" onClick={() => $dialog.error('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')} status="error" mode="fill"/>
52
- <Button label="$dialog.secondary" onClick={() => $dialog.secondary('今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。')} status="secondary" mode="fill"/>
53
- </DemoLine>
54
- </DemoRow>
55
- );
56
- });
57
-
58
- export const demo4 = designPage(() => {
59
-
60
- const { $dialog } = useDialog();
61
-
62
- const removeData = async () => {
63
- await $dialog.confirm('确定要删除该订单信息吗?', { title: '删除确认' });
64
- console.log('remove');
65
- };
66
-
67
- return () => (
68
- <DemoRow title="确认对话框">
69
- <Button label="删除确认" onClick={removeData}/>
70
- </DemoRow>
71
- );
72
- });
73
-
74
-
75
- export const demo5 = designPage(() => {
76
-
77
- const { $dialog } = useDialog();
78
-
79
- const custom = () => {
80
- const close = $dialog({
81
- position: 'right',
82
- confirmButton: true,
83
- cancelButton: true,
84
- width: '400px',
85
- render: () => <>
86
- <span>今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。</span>
87
- <Button label="我知道了" onClick={close}/>
88
- </>,
89
- renderFoot: () => <Button label="取消订阅" onClick={close}/>,
90
- });
91
- };
92
-
93
- return () => (
94
- <DemoRow title="自定义参数以及内容">
95
- <Button label="手动关闭" onClick={custom}/>
96
- </DemoRow>
97
- );
98
- });
99
-
100
- export const demo6 = designPage(() => {
101
-
102
- const { $dialog } = useDialog();
103
-
104
- const newDlg = async () => {
105
- await $dialog({
106
- render: () => <>
107
- <span>今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。</span>
108
- <br/>
109
- <br/>
110
- <Button block label="新弹框" onClick={newDlg}/>
111
- <br/>
112
- <Button block label="关闭所有弹框服务" onClick={() => $dialog.closeAll()}/>
113
- </>
114
- });
115
- };
116
-
117
- return () => (
118
- <DemoRow title="多实例&关闭所有对话框">
119
- <Button label="新弹框" onClick={newDlg}/>
120
- </DemoRow>
121
- );
122
- });
123
-
124
- export const demo7 = designPage(() => {
125
- return () => (
126
- <DemoRow title="默认的关闭按钮">
127
- <Button label="square close button" onClick={() => {
128
- $dialog({
129
- closeType: null as any,
130
- render: () => <>
131
- <span>今日即将升级基础架构,线上支付服务将于明日凌晨0点下线。</span>
132
- </>
133
- });
134
- }}/>
135
- </DemoRow>
136
- );
137
- });
138
-
139
-
140
- export const demo_1 = designPage(() => {
141
-
142
- const { $dialog } = useDialog();
143
-
144
- const showDialog = () => {
145
- $dialog({
146
- onClose: () => {$message('close');},
147
- render: () => (
148
- <>
149
- <Input modelValue="hello world"/>
150
- <br/>
151
- <Button label="open dialog" block onClick={showDialog}/>
152
- </>
153
- )
154
- });
155
- };
156
-
157
- return () => (
158
- <DemoRow title="监听onClose">
159
- <Button label="open dialog" onClick={showDialog}/>
160
- </DemoRow>
161
- );
162
- });
163
-
164
-
165
- export const demo_9 = designPage(() => {
166
-
167
- const { $dialog } = useDialog();
168
-
169
- const showDialog = $dialog.useHoldDialog({
170
- render: () => (
171
- <>
172
- <Input modelValue="hello world"/>
173
- <br/>
174
- <Button label="open dialog" block onClick={showDialog}/>
175
- </>
176
- )
177
- });
178
-
179
- return () => (
180
- <DemoRow title="占用服务实例">
181
- <p>会保留持有dialog组件实例,关闭的时候不会销毁内容,其他地方在复用组件服务的时候会略过被持有的dialog实例</p>
182
- <p>需要保留option,不能每次用新的option来调用</p>
183
- <p>当页面销毁的时候,会自动销毁持有的dialog服务实例</p>
184
- <Button label="open dialog" onClick={showDialog}/>
185
- </DemoRow>
186
- );
187
- });
188
-
189
- export const demoInput = designPage(() => {
190
-
191
- let inputValue: string | number | null | undefined = '默认文本';
192
-
193
- return () => (
194
- <DemoRow title={'输入对话框'}>
195
- <Button label={'input'} onClick={() => $dialog({
196
- editType: 'input',
197
- editValue: inputValue,
198
- editRequired: true,
199
- handleConfirm: ({ editValue }) => {
200
- inputValue = editValue;
201
- $message(String(editValue));
202
- },
203
- confirmButton: true,
204
- cancelButton: true,
205
- })}/>
206
- <Button label={'input readonly'} onClick={() => $dialog({
207
- editType: 'input',
208
- editValue: inputValue,
209
- editReadonly: true,
210
- handleConfirm: ({ editValue }) => {
211
- inputValue = editValue;
212
- $message(String(editValue));
213
- },
214
- confirmButton: true,
215
- cancelButton: true,
216
- })}/>
217
- <Button label={'textarea'} onClick={() => $dialog({
218
- editType: 'textarea',
219
- editValue: inputValue,
220
- handleConfirm: ({ editValue }) => {
221
- inputValue = editValue;
222
- $message(String(editValue));
223
- },
224
- confirmButton: true,
225
- cancelButton: true,
226
- })}/>
227
- <Button label={'textarea readonly'} onClick={() => $dialog({
228
- editType: 'textarea',
229
- editValue: inputValue,
230
- editReadonly: true,
231
- handleConfirm: ({ editValue }) => {
232
- inputValue = editValue;
233
- $message(String(editValue));
234
- },
235
- confirmButton: true,
236
- cancelButton: true,
237
- })}/>
238
- <Button label={'number'} onClick={() => $dialog({
239
- editType: 'number',
240
- editValue: 100,
241
- handleConfirm: ({ editValue }) => {
242
- $message(String(editValue));
243
- },
244
- confirmButton: true,
245
- cancelButton: true,
246
- })}/>
247
- </DemoRow>
248
- );
249
- });
@@ -1,110 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$file, Button, FileServiceChooseFileConfig, FileServiceSingleFile} from "../../../../packages";
4
-
5
- export const demo1 = designPage(() => {
6
-
7
- const getSingleFile = async (option?: FileServiceChooseFileConfig) => {
8
- const file = await $file.chooseFile(option);
9
- console.log('success', file);
10
- };
11
-
12
- return () => (
13
- <DemoRow title={'基本用法'}>
14
- <Button label={'获取单个文件'} onClick={() => getSingleFile()}/>
15
- </DemoRow>
16
- );
17
- });
18
- export const demo2 = designPage(() => {
19
-
20
- const getSingleFile = async (option?: FileServiceChooseFileConfig) => {
21
- const file = await $file.chooseFile(option);
22
- console.log('success', file);
23
- };
24
-
25
- return () => (
26
- <DemoRow title={'其他'}>
27
- <Button onClick={() => getSingleFile({ multiple: true })} label="获取多个文件"/>
28
- <Button onClick={() => getSingleFile({ max: 5 })} label="获取单个文件,最大5M"/>
29
- <Button onClick={() => getSingleFile({ max: 5, multiple: true })} label="获取多个文件,最大5M"/>
30
- <Button onClick={() => getSingleFile({ max: 5, multiple: true, accept: 'image' })} label="获取多个文件,类型为图片"/>
31
- <Button onClick={() => getSingleFile({ max: 5, multiple: true, accept: 'excel' })} label="获取多个文件,类型为Excel文档"/>
32
- <Button onClick={() => getSingleFile({ max: 5, multiple: true, accept: 'image/png' })} label="获取多个文件,类型为自定义"/>
33
- </DemoRow>
34
- );
35
- });
36
- export const demo3 = designPage(() => {
37
-
38
- const state = reactive({
39
- base64: null as null | string,
40
- });
41
-
42
-
43
- const showImage = async () => {
44
- const file = await $file.chooseImage();
45
- const base64 = await $file.readAsDataURL(file as FileServiceSingleFile);
46
- state.base64 = base64 as string;
47
- };
48
-
49
- return () => (
50
- <DemoRow title={'获取图片base64字符串'}>
51
- <Button label={'获取图片之后展示图片'} onClick={() => showImage()}/>
52
- <div>
53
- {!!state.base64 && <img src={state.base64} style={{ maxWidth: '100px', maxHeight: '100px' }}/>}
54
- </div>
55
- </DemoRow>
56
- );
57
- });
58
- export const demo4 = designPage(() => {
59
-
60
- async function uploadFile() {
61
- const file = await $file.chooseFile();
62
- await $file.upload({
63
- action: 'http://1.116.13.72:7001/uploadFile',
64
- file,
65
- filename: 'file',
66
- data: {
67
- headId: '123',
68
- module: 'single',
69
- },
70
- onProgress(data) {
71
- console.log('progress', data);
72
- },
73
- onSuccess(...args) {
74
- console.log('success', ...args);
75
- },
76
- onError(...args) {
77
- console.log('error', ...args);
78
- },
79
- });
80
- }
81
-
82
- async function uploadFiles() {
83
- const file = await $file.chooseFile({ multiple: true });
84
- await $file.upload({
85
- action: 'http://193.112.75.134/server/upload/uploadFiles',
86
- file,
87
- filename: 'files',
88
- data: {
89
- headId: '456',
90
- module: 'multiple',
91
- },
92
- onProgress(data) {
93
- console.log('progress', data);
94
- },
95
- onSuccess(...args) {
96
- console.log('success', ...args);
97
- },
98
- onError(...args) {
99
- console.log('error', ...args);
100
- },
101
- });
102
- }
103
-
104
- return () => (
105
- <DemoRow title={'获取文件,然后上传文件'}>
106
- <Button label={'上传文件'} onClick={uploadFile}/>
107
- <Button label={'上传多个文件'} onClick={uploadFiles}/>
108
- </DemoRow>
109
- );
110
- });
@@ -1,185 +0,0 @@
1
- import {designPage} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$previewer} from "../../../../packages";
4
- import {DemoLine} from "../../Demo/DemoLine";
5
- import {ImagePreviewer} from "../../../../packages/components/ImagePreviewer";
6
- import {createImagePreviewerOption} from "../../../../packages/components/ImagePreviewer/image-previewer.utils";
7
-
8
- export const DemoDocument = designPage(() => {
9
- return () => (
10
- <DemoRow title="使用手册">
11
- <p>1、默认情况下ImagePreviewer会撑满宽度,然后高度由图片自动撑开;下边第一个示例设置了宽度800px,高度自动由图片撑开,如果多张图片高度不一致,则由高度最大的图片撑开;</p>
12
- <p>2、ImagePreviewer分为三个区域,一个是顶部的按钮栏,中间图片展示栏,底部的画廊栏;</p>
13
- <p>3、可以使用鼠标滚动,或者点击按钮栏的放大缩小按钮对当前展示的图片进行缩放;</p>
14
- <p>4、可以点击旋转按钮,对图片进行旋转;</p>
15
- <p>5、缩放或者旋转之后可以拖拽图片调整查看具体的图片位置;</p>
16
- <p>6。在没有缩放或者旋转的状态下,左右滑动来切换浏览的图片;</p>
17
- <p>7、点击按钮栏的重置按钮,或者缩放图片为原始大小,会自动令图片回正,回正就是原始状态,此时可以左右滑动切换浏览图片;</p>
18
- <p>8、点击左右按钮切换图片也会令图片回正;</p>
19
- <p>9、底部画廊在超长溢出的情况下可以拖拽左右滚动,也可以使用鼠标滚动上下滚动,触摸板左右滚动也可以支持;</p>
20
- <p>10、触摸板左右的按钮点击可以自动滚动到上一页,下一页;每次滚动距离为半页距离;</p>
21
- <p>11、快捷键:ESC(关闭全屏浏览);左按键(上一张图);右按键(下一张图);滚轮向上(放大);滚轮向下(缩小);</p>
22
- </DemoRow>
23
- );
24
- });
25
-
26
- export const DemoImagePreviewer = designPage(() => {
27
-
28
- const imageList = [
29
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/1.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
30
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/2.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
31
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/3.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
32
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/4.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
33
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/5.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
34
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/6.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
35
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/7.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
36
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/8.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
37
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/9.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
38
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/10.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
39
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/11.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
40
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/12.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
41
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/13.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
42
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/14.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
43
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/15.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
44
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/16.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
45
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/17.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
46
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/18.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
47
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/19.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
48
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/20.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
49
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/21.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
50
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/22.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=DemoImagePreviewer",
51
- ];
52
-
53
- const option = createImagePreviewerOption(imageList);
54
- option.button = { close: false };
55
- option.galleryHeight = 60;
56
-
57
- return () => (
58
- <DemoRow title="基本用法">
59
- <div style={{ width: '500px', maxWidth: '100%' }}>
60
- <ImagePreviewer option={option}/>
61
- </div>
62
- </DemoRow>
63
- );
64
- });
65
-
66
- export const demoImagePreview = designPage(() => {
67
-
68
- const imageList = [
69
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/mountains.jpg?x-oss-process=image/resize,h_1080,m_lfit",
70
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/pexels-pixabay-262367.jpg?x-oss-process=image/resize,h_1080,m_lfit",
71
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/pexels-athena-1586795.jpg?x-oss-process=image/resize,h_1080,m_lfit"
72
- ];
73
-
74
- return () => (
75
- <DemoRow title="图片预览">
76
- <DemoLine>
77
- <p>1. 调用预览服务的时候如果传入原始的imageElement这个dom对象的话,初始会有一个放大动画</p>
78
- <p>2. 双击可以关闭预览,或者ESC按键或者点击顶部的关闭按钮都可以关闭预览</p>
79
- </DemoLine>
80
- <DemoLine>
81
- {imageList.map((item, index) => (
82
- <img style={{ height: '100px' }} src={item} key={index} onClick={e => $previewer.preview({ current: index, urls: imageList }, e.currentTarget as any)}/>
83
- ))}
84
- </DemoLine>
85
- </DemoRow>
86
- );
87
- });
88
-
89
-
90
- export const demoImagePreview2 = designPage(() => {
91
-
92
- const imageList = [
93
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/mountains.jpg??x-oss-process=image/resize,h_1080,m_lfit&v=1",
94
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/pexels-pixabay-262367.jpg??x-oss-process=image/resize,h_1080,m_lfit&v=1",
95
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/pexels-athena-1586795.jpg?x-oss-process=image/resize,h_1080,m_lfit&?v=1"
96
- ];
97
-
98
- return () => (
99
- <DemoRow title="关闭时没有原始图片">
100
- <p>关闭时没有原始图片的情况下,关闭动画会往底部缩小并且关闭</p>
101
- {imageList.map((item, index) => (
102
- index == 0 ? null : <img style={{ height: '100px' }} src={item} key={index} onClick={e => $previewer.preview({ current: index, urls: imageList }, e.currentTarget as any)}/>
103
- ))}
104
- </DemoRow>
105
- );
106
- });
107
-
108
- export const demoImagePreview3 = designPage(() => {
109
-
110
- const imageList = [
111
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/1.jpg?x-oss-process=image/resize,h_1080,m_lfit",
112
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/2.jpg?x-oss-process=image/resize,h_1080,m_lfit",
113
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/3.jpg?x-oss-process=image/resize,h_1080,m_lfit",
114
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/4.jpg?x-oss-process=image/resize,h_1080,m_lfit",
115
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/5.jpg?x-oss-process=image/resize,h_1080,m_lfit",
116
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/6.jpg?x-oss-process=image/resize,h_1080,m_lfit",
117
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/7.jpg?x-oss-process=image/resize,h_1080,m_lfit",
118
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/8.jpg?x-oss-process=image/resize,h_1080,m_lfit",
119
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/9.jpg?x-oss-process=image/resize,h_1080,m_lfit",
120
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/10.jpg?x-oss-process=image/resize,h_1080,m_lfit",
121
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/11.jpg?x-oss-process=image/resize,h_1080,m_lfit",
122
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/12.jpg?x-oss-process=image/resize,h_1080,m_lfit",
123
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/13.jpg?x-oss-process=image/resize,h_1080,m_lfit",
124
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/14.jpg?x-oss-process=image/resize,h_1080,m_lfit",
125
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/15.jpg?x-oss-process=image/resize,h_1080,m_lfit",
126
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/16.jpg?x-oss-process=image/resize,h_1080,m_lfit",
127
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/17.jpg?x-oss-process=image/resize,h_1080,m_lfit",
128
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/18.jpg?x-oss-process=image/resize,h_1080,m_lfit",
129
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/19.jpg?x-oss-process=image/resize,h_1080,m_lfit",
130
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/20.jpg?x-oss-process=image/resize,h_1080,m_lfit",
131
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/21.jpg?x-oss-process=image/resize,h_1080,m_lfit",
132
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/22.jpg?x-oss-process=image/resize,h_1080,m_lfit",
133
- ];
134
-
135
- return () => (
136
- <DemoRow title="多图预览示例">
137
- {imageList.map((item, index) => (
138
- <img style={{ height: '100px' }} src={item} key={index} onClick={e => $previewer.preview({ current: index, urls: imageList }, e.currentTarget as any)}/>
139
- ))}
140
- </DemoRow>
141
- );
142
- });
143
-
144
-
145
- export const demoImagePreview4 = designPage(() => {
146
-
147
- const imageList = [
148
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/1.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
149
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/2.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
150
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/3.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
151
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/4.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
152
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/5.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
153
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/6.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
154
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/7.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
155
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/8.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
156
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/9.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
157
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/10.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
158
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/11.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
159
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/12.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
160
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/13.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
161
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/14.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
162
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/15.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
163
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/16.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
164
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/17.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
165
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/18.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
166
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/19.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
167
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/20.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
168
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/21.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
169
- "https://plain-assets.oss-cn-guangzhou.aliyuncs.com/xiaomi_su7/22.jpg?x-oss-process=image/resize,h_1080,m_lfit&v=1",
170
- ];
171
-
172
- return () => (
173
- <DemoRow title="无原始图预览示例">
174
- <p>1. 没有加载过的图片url,第一次预览的时候会显示加载状态;</p>
175
- <p>2. 画廊使用的是虚拟滚动,所以并不是所有图片会立即加载,画廊滚动的时候会预初始化下一页图片,也就是会预加载下一页</p>
176
- <ul>
177
- {imageList.map((item, index) => (
178
- <li key={index} onClick={() => $previewer.preview({ current: index, urls: imageList })} style={{ lineHeight: '40px' }}>
179
- ITEM_${item}
180
- </li>
181
- ))}
182
- </ul>
183
- </DemoRow>
184
- );
185
- });
@@ -1,100 +0,0 @@
1
- import {designPage, reactive} from "plain-design-composition";
2
- import {Button, useMessage} from "../../../../packages";
3
- import {DemoRow} from "../../Demo/DemoRow";
4
- import {MessageDirection} from "../../../../packages/components/useMessage/message.service.utils";
5
- import {FixInput} from "../../../../packages/utils/FixInput";
6
-
7
- export const demo1 = designPage(() => {
8
-
9
- const { $message } = useMessage();
10
-
11
- return () => (
12
- <DemoRow title="基本用法">
13
- <Button label="show message" onClick={() => [$message('保存完毕!'), $message('保存完毕!222')]}/>
14
- </DemoRow>
15
- );
16
- });
17
- export const demo2 = designPage(() => {
18
-
19
- const { $message } = useMessage();
20
-
21
- return () => (
22
- <DemoRow title="带状态的消息提示">
23
- <Button label="Primary" onClick={() => $message.primary('保存完毕!')} mode="fill" status="primary"/>
24
- <Button label="Success" onClick={() => $message.success('保存完毕!')} mode="fill" status="success"/>
25
- <Button label="Warn" onClick={() => $message.warn('保存完毕!')} mode="fill" status="warn"/>
26
- <Button label="Error" onClick={() => $message.error('保存完毕!')} mode="fill" status="error"/>
27
- <Button label="Secondary" onClick={() => $message.secondary('保存完毕!')} mode="fill" status="secondary"/>
28
- </DemoRow>
29
- );
30
- });
31
-
32
- export const demo3 = designPage(() => {
33
-
34
- const { $message } = useMessage();
35
-
36
- return () => (
37
- <DemoRow title="自定义停留时长">
38
- <Button label="1s" onClick={() => $message({ message: '保存完毕!', time: 1000 })}/>
39
- <Button label="手动关闭" onClick={() => $message({ message: '保存完毕!', time: null })}/>
40
- </DemoRow>
41
- );
42
- });
43
- export const demo4 = designPage(() => {
44
-
45
- const { $message } = useMessage();
46
-
47
- return () => (
48
- <DemoRow title={'位置'}>
49
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.start, vertical: MessageDirection.start })} label="左上"/>
50
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.center, vertical: MessageDirection.start })} label="中上"/>
51
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.end, vertical: MessageDirection.start })} label="右上"/>
52
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.start, vertical: MessageDirection.center })} label="左中"/>
53
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.center, vertical: MessageDirection.center })} label="中中"/>
54
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.end, vertical: MessageDirection.center })} label="右中"/>
55
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.start, vertical: MessageDirection.end })} label="左下"/>
56
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.center, vertical: MessageDirection.end })} label="中下"/>
57
- <Button onClick={() => $message('提示信息!', { horizontal: MessageDirection.end, vertical: MessageDirection.end })} label="右下"/>
58
- </DemoRow>
59
- );
60
- });
61
-
62
- export const demo5 = designPage(() => {
63
-
64
- const { $message } = useMessage();
65
-
66
- return () => (
67
- <DemoRow title="基本用法">
68
- <Button onClick={() => $message('提示信息!', { time: 1000, onClose: () => console.log('close') })} label="一秒后自动关闭"/>
69
- <Button onClick={() => $message('提示信息!', { time: null })} label="不自动关闭"/>
70
- <Button onClick={() => $message('提示信息!', { onClose: () => console.log('done') })} label="监听结束事件"/>
71
- <Button onClick={() => $message('提示信息!', { onClick: () => console.log('click') })} label="监听点击事件"/>
72
- </DemoRow>
73
- );
74
- });
75
- export const demo6 = designPage(() => {
76
-
77
- const { $message } = useMessage();
78
-
79
- const state = reactive({
80
- text: '自定义编辑文本'
81
- });
82
-
83
- const closeDemo = () => {
84
- const close = $message({
85
- render: () => (
86
- <div>
87
- <FixInput style={{ marginRight: '10px' }} v-model={state.text}/>
88
- <Button label="close" mode="text" onClick={() => close()}/>
89
- </div>
90
- )
91
- });
92
- };
93
-
94
- return () => (
95
- <DemoRow title="自定义内容">
96
- <Button onClick={closeDemo} label="show"/>
97
- {state.text}
98
- </DemoRow>
99
- );
100
- });