@opentiny/vue-docs 2.2.5 → 2.2.6

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 (412) hide show
  1. package/demos/mobile/app/container/basic-usage.vue +105 -0
  2. package/demos/mobile/app/container/custom-width.vue +93 -0
  3. package/demos/mobile/app/container/webdoc/container.cn.md +7 -0
  4. package/demos/mobile/app/container/webdoc/container.en.md +7 -0
  5. package/demos/mobile/app/container/webdoc/container.js +80 -0
  6. package/demos/mobile/app/pull-refresh/animation-duration.vue +58 -12
  7. package/demos/mobile/app/pull-refresh/base.vue +32 -18
  8. package/demos/mobile/app/pull-refresh/disabled-pull-down.vue +66 -0
  9. package/demos/mobile/app/pull-refresh/disabled-pull-up.vue +67 -0
  10. package/demos/mobile/app/pull-refresh/{hasmore.vue → event.vue} +21 -20
  11. package/demos/mobile/app/pull-refresh/{enhance.vue → has-more.vue} +20 -25
  12. package/demos/mobile/app/pull-refresh/loosing-text.vue +55 -12
  13. package/demos/mobile/app/pull-refresh/pull-refresh-slot.vue +64 -15
  14. package/demos/mobile/app/pull-refresh/pull-up-distance.vue +74 -0
  15. package/demos/mobile/app/pull-refresh/pulling-text.vue +56 -12
  16. package/demos/mobile/app/pull-refresh/webdoc/pull-refresh.js +98 -120
  17. package/demos/mobile/app/tabs/before-leave.vue +3 -3
  18. package/demos/mobile/app/tabs/tabs-events.vue +7 -7
  19. package/demos/mobile/menus.js +4 -1
  20. package/demos/mobile-first/app/tabs/basic-usage.vue +3 -3
  21. package/demos/mobile-first/app/tabs/before-leave.vue +3 -3
  22. package/demos/mobile-first/app/tabs/change-title.vue +2 -2
  23. package/demos/mobile-first/app/tabs/custom-tab-content.vue +3 -3
  24. package/demos/mobile-first/app/tabs/custom-tab-title.vue +3 -3
  25. package/demos/mobile-first/app/tabs/position-bottom.vue +10 -10
  26. package/demos/mobile-first/app/tabs/position-left.vue +10 -10
  27. package/demos/mobile-first/app/tabs/position-right.vue +10 -10
  28. package/demos/mobile-first/app/tabs/position.vue +10 -10
  29. package/demos/mobile-first/app/tabs/prevent-tab-switching.vue +3 -3
  30. package/demos/mobile-first/app/tabs/stretch-wh.vue +3 -3
  31. package/demos/mobile-first/app/tabs/tab-style-bordercard.vue +10 -10
  32. package/demos/mobile-first/app/tabs/tab-style-card.vue +10 -10
  33. package/demos/mobile-first/app/tabs/tabdata-title.vue +4 -4
  34. package/demos/mobile-first/app/tabs/tabs-draggable.vue +1 -1
  35. package/demos/mobile-first/app/tabs/tabs-events-add.vue +3 -3
  36. package/demos/mobile-first/app/tabs/tabs-events-click.vue +3 -3
  37. package/demos/mobile-first/app/tabs/tabs-events-close.vue +4 -4
  38. package/demos/mobile-first/app/tabs/tabs-events-edit.vue +4 -4
  39. package/demos/mobile-first/app/tabs/tabs-separator.vue +8 -8
  40. package/demos/mobile-first/app/tabs/tabs-size.vue +3 -3
  41. package/demos/mobile-first/app/tabs/tabs-tabs.vue +2 -2
  42. package/demos/mobile-first/app/tabs/with-add.vue +1 -1
  43. package/demos/pc/app/action-menu/disabled.vue +2 -1
  44. package/demos/pc/app/action-menu/icon-composition-api.vue +73 -0
  45. package/demos/pc/app/action-menu/icon.vue +79 -0
  46. package/demos/pc/app/action-menu/popper-class.spec.ts +2 -1
  47. package/demos/pc/app/action-menu/webdoc/action-menu.js +42 -1
  48. package/demos/pc/app/autocomplete/webdoc/autocomplete.js +30 -16
  49. package/demos/pc/app/breadcrumb/webdoc/breadcrumb.js +3 -3
  50. package/demos/pc/app/button/basic-usage-composition-api.vue +2 -0
  51. package/demos/pc/app/button/basic-usage.vue +2 -0
  52. package/demos/pc/app/button/click-composition-api.vue +1 -1
  53. package/demos/pc/app/button/click.vue +1 -1
  54. package/demos/pc/app/button/dynamic-disabled-composition-api.vue +10 -1
  55. package/demos/pc/app/button/{dynamic-disabled.spec.js → dynamic-disabled.spec.ts} +4 -0
  56. package/demos/pc/app/button/dynamic-disabled.vue +12 -3
  57. package/demos/pc/app/button/ghost-composition-api.vue +26 -0
  58. package/demos/pc/app/button/ghost.spec.ts +69 -0
  59. package/demos/pc/app/button/ghost.vue +32 -0
  60. package/demos/pc/app/button/icon-composition-api.vue +2 -0
  61. package/demos/pc/app/button/icon.vue +2 -0
  62. package/demos/pc/app/button/loading-composition-api.vue +2 -0
  63. package/demos/pc/app/button/loading.vue +2 -0
  64. package/demos/pc/app/button/size-composition-api.vue +2 -0
  65. package/demos/pc/app/button/size.vue +2 -0
  66. package/demos/pc/app/button/text-composition-api.vue +1 -1
  67. package/demos/pc/app/button/text.vue +1 -1
  68. package/demos/pc/app/button/webdoc/button.js +28 -1
  69. package/demos/pc/app/button-group/button-group-multiple-composition-api.vue +9 -9
  70. package/demos/pc/app/button-group/button-group-multiple.vue +9 -9
  71. package/demos/pc/app/button-group/change-event-composition-api.vue +1 -1
  72. package/demos/pc/app/button-group/change-event.vue +1 -1
  73. package/demos/pc/app/button-group/show-edit-composition-api.vue +1 -1
  74. package/demos/pc/app/button-group/show-edit.vue +1 -1
  75. package/demos/pc/app/button-group/webdoc/button-group.js +2 -3
  76. package/demos/pc/app/carousel/webdoc/carousel.js +82 -49
  77. package/demos/pc/app/cascader/auto-load-checkStrictly-composition-api.vue +2 -1
  78. package/demos/pc/app/cascader/auto-load-checkStrictly.vue +2 -1
  79. package/demos/pc/app/cascader/auto-load-composition-api.vue +3 -1
  80. package/demos/pc/app/cascader/auto-load.vue +2 -1
  81. package/demos/pc/app/cascader/events-composition-api.vue +1 -1
  82. package/demos/pc/app/cascader/expand-trigger-composition-api.vue +195 -2
  83. package/demos/pc/app/cascader/show-all-levels-composition-api.vue +197 -2
  84. package/demos/pc/app/cascader/webdoc/cascader.js +27 -13
  85. package/demos/pc/app/cascader-panel/basic-usage-composition-api.vue +3 -1
  86. package/demos/pc/app/cascader-panel/basic-usage.vue +2 -1
  87. package/demos/pc/app/cascader-panel/cascader-panel-props-composition-api.vue +3 -1
  88. package/demos/pc/app/cascader-panel/cascader-panel-props.vue +3 -1
  89. package/demos/pc/app/cascader-panel/change-composition-api.vue +1 -2
  90. package/demos/pc/app/cascader-panel/change.vue +1 -1
  91. package/demos/pc/app/cascader-panel/webdoc/cascader-panel.js +5 -5
  92. package/demos/pc/app/color-picker/webdoc/color-picker.js +36 -18
  93. package/demos/pc/app/color-select-panel/webdoc/color-select-panel.js +32 -19
  94. package/demos/pc/app/config-provider/basic.spec.ts +9 -0
  95. package/demos/pc/app/config-provider/tag.spec.ts +12 -0
  96. package/demos/pc/app/config-provider/text-direct.spec.ts +11 -0
  97. package/demos/pc/app/config-provider/webdoc/config-provider.en.md +7 -0
  98. package/demos/pc/app/config-provider/webdoc/config-provider.js +27 -12
  99. package/demos/pc/app/container/basic-usage.spec.js +47 -2
  100. package/demos/pc/app/container/custom-with-height.spec.js +10 -2
  101. package/demos/pc/app/crop/webdoc/crop.js +53 -49
  102. package/demos/pc/app/dialog-box/webdoc/dialog-box.js +82 -83
  103. package/demos/pc/app/divider/webdoc/divider.js +25 -21
  104. package/demos/pc/app/dropdown/events-composition-api.vue +1 -1
  105. package/demos/pc/app/dropdown/events.spec.ts +1 -0
  106. package/demos/pc/app/dropdown/multi-level-composition-api.vue +4 -8
  107. package/demos/pc/app/dropdown/multi-level.spec.ts +16 -9
  108. package/demos/pc/app/dropdown/multi-level.vue +3 -7
  109. package/demos/pc/app/dropdown/show-icon-composition-api.vue +44 -21
  110. package/demos/pc/app/dropdown/show-icon.vue +42 -12
  111. package/demos/pc/app/dropdown/webdoc/dropdown.js +29 -8
  112. package/demos/pc/app/fall-menu/custom-menuitem.spec.ts +6 -9
  113. package/demos/pc/app/fall-menu/custom-slider-icon.spec.ts +10 -21
  114. package/demos/pc/app/fall-menu/data-resource.spec.ts +6 -9
  115. package/demos/pc/app/file-upload/abort-quest.spec.ts +6 -5
  116. package/demos/pc/app/file-upload/accept-file-image.spec.ts +9 -4
  117. package/demos/pc/app/file-upload/custom-trigger.spec.ts +1 -1
  118. package/demos/pc/app/file-upload/disabled.spec.ts +4 -5
  119. package/demos/pc/app/file-upload/drag-upload.spec.ts +1 -1
  120. package/demos/pc/app/file-upload/file-picture-card.spec.ts +7 -6
  121. package/demos/pc/app/file-upload/form-validation.spec.ts +2 -2
  122. package/demos/pc/app/file-upload/image-size.spec.ts +2 -2
  123. package/demos/pc/app/file-upload/max-file-count.spec.ts +6 -6
  124. package/demos/pc/app/file-upload/paste-upload-composition-api.vue +2 -2
  125. package/demos/pc/app/file-upload/paste-upload.spec.ts +19 -2
  126. package/demos/pc/app/file-upload/picture-card.spec.ts +6 -5
  127. package/demos/pc/app/file-upload/picture-list.spec.ts +2 -3
  128. package/demos/pc/app/file-upload/prevent-delete-file.spec.ts +1 -1
  129. package/demos/pc/app/file-upload/prevent-upload-file.spec.ts +1 -1
  130. package/demos/pc/app/file-upload/upload-events.spec.ts +6 -4
  131. package/demos/pc/app/file-upload/upload-file-list-slot.spec.ts +18 -0
  132. package/demos/pc/app/file-upload/upload-file-list-thumb-composition-api.vue +4 -3
  133. package/demos/pc/app/file-upload/upload-file-list-thumb.spec.ts +2 -2
  134. package/demos/pc/app/file-upload/upload-file-list-thumb.vue +4 -3
  135. package/demos/pc/app/file-upload/upload-file-list.spec.ts +9 -9
  136. package/demos/pc/app/file-upload/upload-limit.spec.ts +5 -8
  137. package/demos/pc/app/file-upload/upload-request.spec.ts +1 -1
  138. package/demos/pc/app/file-upload/upload-user-head.spec.ts +1 -1
  139. package/demos/pc/app/file-upload/webdoc/file-upload.js +4 -4
  140. package/demos/pc/app/file-upload//346/265/213/350/257/225.txt +1 -0
  141. package/demos/pc/app/form/custom-validation-rule-composition-api.vue +2 -14
  142. package/demos/pc/app/form/custom-validation-rule.vue +2 -8
  143. package/demos/pc/app/form/form-validate-field.vue +2 -2
  144. package/demos/pc/app/form/size.spec.ts +26 -6
  145. package/demos/pc/app/grid/custom-style/body-style-composition-api.vue +1 -1
  146. package/demos/pc/app/grid/custom-style/footer-style-composition-api.vue +64 -19
  147. package/demos/pc/app/grid/drag/row-drag-ctrl-composition-api.vue +4 -4
  148. package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +2 -2
  149. package/demos/pc/app/grid/edit/trigger-mode-hm-editing.vue +1 -1
  150. package/demos/pc/app/grid/event/cell-mouse-event-composition-api.vue +1 -1
  151. package/demos/pc/app/grid/event/context-menu-event-composition-api.vue +1 -0
  152. package/demos/pc/app/grid/event/edit-event-composition-api.vue +1 -1
  153. package/demos/pc/app/grid/expand/set-row-expansion-composition-api.vue +9 -4
  154. package/demos/pc/app/grid/loading/{grid-loading-off-tip-composition-api.vue → grid-custom-loading-composition-api.vue} +29 -4
  155. package/demos/pc/app/grid/loading/grid-custom-loading.spec.js +7 -0
  156. package/demos/pc/app/grid/loading/{grid-loading-off-tip.vue → grid-custom-loading.vue} +27 -1
  157. package/demos/pc/app/grid/operation-column/clear-and-set-radio-row-composition-api.vue +5 -1
  158. package/demos/pc/app/grid/operation-column/selection-operation-composition-api.vue +32 -0
  159. package/demos/pc/app/grid/size/grid-size-composition-api.vue +17 -0
  160. package/demos/pc/app/grid/slot/editor-slot-composition-api.vue +13 -7
  161. package/demos/pc/app/grid/sort/combinations-sort-composition-api.vue +3 -3
  162. package/demos/pc/app/grid/sort/combinations-sort.spec.js +3 -0
  163. package/demos/pc/app/grid/sort/combinations-sort.vue +3 -3
  164. package/demos/pc/app/grid/toolbar/insert-remove-rows-composition-api.vue +1 -1
  165. package/demos/pc/app/grid/toolbar/insert-remove-rows.vue +1 -1
  166. package/demos/pc/app/grid/toolbar/refresh-grid-composition-api.vue +105 -0
  167. package/demos/pc/app/grid/tree-table/set-tree-expansion-composition-api.vue +4 -4
  168. package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +19 -2
  169. package/demos/pc/app/grid/validation/before-submit-validation.spec.js +5 -2
  170. package/demos/pc/app/grid/validation/before-submit-validation.vue +19 -2
  171. package/demos/pc/app/grid/webdoc/grid-loading.js +9 -5
  172. package/demos/pc/app/grid/webdoc/grid-size.js +2 -2
  173. package/demos/pc/app/grid/webdoc/grid-validation.js +1 -1
  174. package/demos/pc/app/grid/webdoc/grid.js +8 -1
  175. package/demos/pc/app/guide/callback-composition-api.vue +2 -2
  176. package/demos/pc/app/guide/callback.vue +2 -2
  177. package/demos/pc/app/guide/highlight-box-composition-api.vue +9 -8
  178. package/demos/pc/app/guide/highlight-box.vue +8 -2
  179. package/demos/pc/app/guide/offset-composition-api.vue +7 -2
  180. package/demos/pc/app/guide/offset.vue +7 -2
  181. package/demos/pc/app/guide/size-composition-api.vue +3 -8
  182. package/demos/pc/app/guide/size.vue +3 -8
  183. package/demos/pc/app/guide/webdoc/guide.js +2 -2
  184. package/demos/pc/app/image/basic-usage.spec.ts +9 -2
  185. package/demos/pc/app/image/events.spec.ts +3 -1
  186. package/demos/pc/app/image/lazy-composition-api.vue +2 -2
  187. package/demos/pc/app/image/lazy.spec.ts +7 -4
  188. package/demos/pc/app/image/lazy.vue +2 -2
  189. package/demos/pc/app/image/preview-in-dialog.spec.ts +15 -1
  190. package/demos/pc/app/image/preview.spec.ts +28 -13
  191. package/demos/pc/app/image/slot.spec.ts +3 -0
  192. package/demos/pc/app/input/webdoc/input.js +11 -11
  193. package/demos/pc/app/link/basic-usage-composition-api.vue +1 -1
  194. package/demos/pc/app/link/basic-usage.spec.ts +1 -1
  195. package/demos/pc/app/link/basic-usage.vue +1 -1
  196. package/demos/pc/app/link/config-href.spec.ts +2 -2
  197. package/demos/pc/app/link/custom-icon.spec.ts +5 -5
  198. package/demos/pc/app/link/dynamic-disable.spec.ts +11 -11
  199. package/demos/pc/app/link/focus-no-underline.spec.ts +3 -3
  200. package/demos/pc/app/link/link-style-composition-api.vue +6 -6
  201. package/demos/pc/app/link/link-style.spec.ts +36 -7
  202. package/demos/pc/app/link/link-style.vue +6 -6
  203. package/demos/pc/app/link/webdoc/link.js +20 -22
  204. package/demos/pc/app/link-menu/webdoc/link-menu.js +22 -22
  205. package/demos/pc/app/milestone/basic-usage-composition-api.vue +6 -6
  206. package/demos/pc/app/milestone/basic-usage.spec.ts +1 -1
  207. package/demos/pc/app/milestone/basic-usage.vue +6 -6
  208. package/demos/pc/app/milestone/line-style-composition-api.vue +6 -6
  209. package/demos/pc/app/milestone/line-style.vue +6 -6
  210. package/demos/pc/app/milestone/show-number-composition-api.vue +9 -7
  211. package/demos/pc/app/milestone/show-number.spec.ts +7 -7
  212. package/demos/pc/app/milestone/show-number.vue +9 -7
  213. package/demos/pc/app/milestone/solid-style-composition-api.vue +7 -7
  214. package/demos/pc/app/milestone/solid-style.spec.ts +7 -7
  215. package/demos/pc/app/milestone/solid-style.vue +7 -7
  216. package/demos/pc/app/milestone/webdoc/milestone.js +31 -12
  217. package/demos/pc/app/modal/webdoc/modal.js +80 -76
  218. package/demos/pc/app/nav-menu/basic-usage.spec.ts +2 -2
  219. package/demos/pc/app/nav-menu/before-skip-prevent.spec.ts +1 -1
  220. package/demos/pc/app/nav-menu/before-skip.spec.ts +1 -1
  221. package/demos/pc/app/nav-menu/custom-service.spec.ts +1 -2
  222. package/demos/pc/app/nav-menu/overflow.spec.ts +2 -2
  223. package/demos/pc/app/nav-menu/slot-logo.spec.ts +1 -1
  224. package/demos/pc/app/nav-menu/slot-toolbar.spec.ts +2 -2
  225. package/demos/pc/app/numeric/webdoc/numeric.js +33 -32
  226. package/demos/pc/app/search/basic-usage.spec.ts +1 -1
  227. package/demos/pc/app/search/clearable.spec.ts +1 -1
  228. package/demos/pc/app/search/events-composition-api.vue +6 -0
  229. package/demos/pc/app/search/events.spec.ts +9 -6
  230. package/demos/pc/app/search/events.vue +5 -0
  231. package/demos/pc/app/search/webdoc/search.js +14 -4
  232. package/demos/pc/app/slide-bar/webdoc/slide-bar.js +18 -12
  233. package/demos/pc/app/slider/webdoc/slider.js +23 -18
  234. package/demos/pc/app/steps/advanced-steps.spec.ts +3 -2
  235. package/demos/pc/app/steps/click-composition-api.vue +0 -1
  236. package/demos/pc/app/steps/click.spec.ts +1 -12
  237. package/demos/pc/app/steps/custom-steps-item.spec.ts +1 -1
  238. package/demos/pc/app/steps/node-status-composition-api.vue +1 -1
  239. package/demos/pc/app/steps/node-status.spec.ts +1 -1
  240. package/demos/pc/app/steps/node-status.vue +1 -1
  241. package/demos/pc/app/steps/normal-steps-composition-api.vue +1 -1
  242. package/demos/pc/app/steps/normal-steps.spec.ts +2 -2
  243. package/demos/pc/app/steps/normal-steps.vue +1 -1
  244. package/demos/pc/app/steps/only-number-composition-api.vue +1 -1
  245. package/demos/pc/app/steps/only-number.spec.ts +1 -1
  246. package/demos/pc/app/steps/only-number.vue +1 -1
  247. package/demos/pc/app/steps/show-divider-composition-api.vue +1 -1
  248. package/demos/pc/app/steps/show-divider.spec.ts +1 -1
  249. package/demos/pc/app/steps/show-divider.vue +1 -1
  250. package/demos/pc/app/steps/size-composition-api.vue +6 -9
  251. package/demos/pc/app/steps/size.spec.ts +1 -4
  252. package/demos/pc/app/steps/size.vue +4 -4
  253. package/demos/pc/app/steps/slot-active-node-desc-composition-api.vue +3 -1
  254. package/demos/pc/app/steps/slot-active-node-desc.spec.ts +1 -1
  255. package/demos/pc/app/steps/slot-active-node-desc.vue +3 -1
  256. package/demos/pc/app/steps/slot-description-composition-api.vue +6 -6
  257. package/demos/pc/app/steps/slot-description.spec.ts +1 -1
  258. package/demos/pc/app/steps/slot-description.vue +5 -5
  259. package/demos/pc/app/steps/slot-item-composition-api.vue +0 -1
  260. package/demos/pc/app/steps/slot-item.spec.ts +1 -7
  261. package/demos/pc/app/steps/slot-item.vue +0 -1
  262. package/demos/pc/app/steps/space.spec.ts +1 -1
  263. package/demos/pc/app/steps/text-position-composition-api.vue +1 -1
  264. package/demos/pc/app/steps/text-position.spec.ts +1 -4
  265. package/demos/pc/app/steps/text-position.vue +1 -1
  266. package/demos/pc/app/steps/vertical-steps.spec.ts +13 -19
  267. package/demos/pc/app/steps/webdoc/steps.js +18 -17
  268. package/demos/pc/app/tabs/basic-usage-composition-api.vue +4 -4
  269. package/demos/pc/app/tabs/basic-usage.vue +4 -4
  270. package/demos/pc/app/tabs/before-leave-composition-api.vue +3 -3
  271. package/demos/pc/app/tabs/before-leave.vue +3 -3
  272. package/demos/pc/app/tabs/custom-more-icon-composition-api.vue +1 -1
  273. package/demos/pc/app/tabs/custom-more-icon.vue +1 -1
  274. package/demos/pc/app/tabs/custom-tab-content-composition-api.vue +3 -3
  275. package/demos/pc/app/tabs/custom-tab-content.vue +3 -3
  276. package/demos/pc/app/tabs/custom-tab-title-composition-api.vue +3 -3
  277. package/demos/pc/app/tabs/custom-tab-title.vue +3 -3
  278. package/demos/pc/app/tabs/lazy-composition-api.vue +5 -3
  279. package/demos/pc/app/tabs/lazy.vue +5 -3
  280. package/demos/pc/app/tabs/position-composition-api.vue +22 -17
  281. package/demos/pc/app/tabs/position.spec.ts +4 -4
  282. package/demos/pc/app/tabs/position.vue +19 -18
  283. package/demos/pc/app/tabs/prevent-tab-switching-composition-api.vue +3 -3
  284. package/demos/pc/app/tabs/prevent-tab-switching.vue +3 -3
  285. package/demos/pc/app/tabs/stretch-wh-composition-api.vue +3 -3
  286. package/demos/pc/app/tabs/stretch-wh.vue +3 -3
  287. package/demos/pc/app/tabs/tab-style-bordercard-composition-api.vue +10 -10
  288. package/demos/pc/app/tabs/tab-style-bordercard.vue +10 -10
  289. package/demos/pc/app/tabs/tab-style-card-composition-api.vue +1 -1
  290. package/demos/pc/app/tabs/tab-style-card.vue +1 -1
  291. package/demos/pc/app/tabs/tabs-draggable-composition-api.vue +1 -1
  292. package/demos/pc/app/tabs/tabs-draggable.spec.ts +1 -7
  293. package/demos/pc/app/tabs/tabs-draggable.vue +1 -1
  294. package/demos/pc/app/tabs/tabs-events-click-composition-api.vue +3 -3
  295. package/demos/pc/app/tabs/tabs-events-click.vue +3 -3
  296. package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +4 -4
  297. package/demos/pc/app/tabs/tabs-events-close.vue +4 -4
  298. package/demos/pc/app/tabs/tabs-events-edit-composition-api.vue +4 -4
  299. package/demos/pc/app/tabs/tabs-events-edit.vue +4 -4
  300. package/demos/pc/app/tabs/tabs-separator-composition-api.vue +7 -7
  301. package/demos/pc/app/tabs/tabs-separator.vue +7 -7
  302. package/demos/pc/app/tabs/tabs-size-composition-api.vue +3 -3
  303. package/demos/pc/app/tabs/tabs-size.vue +3 -3
  304. package/demos/pc/app/tabs/tooltip-composition-api.vue +17 -13
  305. package/demos/pc/app/tabs/tooltip.vue +17 -13
  306. package/demos/pc/app/tabs/webdoc/tabs.js +35 -35
  307. package/demos/pc/app/tabs/with-add-composition-api.vue +1 -1
  308. package/demos/pc/app/tabs/with-add.vue +1 -1
  309. package/demos/pc/app/tag/{before-delete-composition-api.vue → delete-composition-api.vue} +6 -16
  310. package/demos/pc/app/tag/delete.spec.ts +19 -0
  311. package/demos/pc/app/tag/{closable.vue → delete.vue} +22 -5
  312. package/demos/pc/app/tag/webdoc/tag.js +15 -7
  313. package/demos/pc/app/time-line/webdoc/time-line.js +12 -12
  314. package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +64 -55
  315. package/demos/pc/app/tooltip/content.spec.js +1 -1
  316. package/demos/pc/app/tooltip/custom-popper.spec.js +4 -4
  317. package/demos/pc/app/transfer/basic-usage.spec.ts +7 -20
  318. package/demos/pc/app/transfer/custom-btns.spec.ts +11 -19
  319. package/demos/pc/app/transfer/custom-filter.spec.ts +6 -4
  320. package/demos/pc/app/transfer/custom-footer.spec.ts +1 -2
  321. package/demos/pc/app/transfer/custom-render.spec.ts +7 -5
  322. package/demos/pc/app/transfer/custom-titles.spec.ts +5 -3
  323. package/demos/pc/app/transfer/default-checked.spec.ts +5 -9
  324. package/demos/pc/app/transfer/drop-config.spec.ts +21 -16
  325. package/demos/pc/app/transfer/manual-clear-query.spec.ts +2 -2
  326. package/demos/pc/app/transfer/nested-table.spec.ts +12 -35
  327. package/demos/pc/app/transfer/nested-tree.spec.ts +3 -30
  328. package/demos/pc/app/transfer/target-order.spec.ts +2 -1
  329. package/demos/pc/app/transfer/transfer-events.spec.ts +2 -1
  330. package/demos/pc/app/tree/basic-usage.spec.ts +26 -16
  331. package/demos/pc/app/tree/check-op.spec.ts +37 -19
  332. package/demos/pc/app/tree/checkbox.spec.ts +23 -18
  333. package/demos/pc/app/tree/contextmenu.spec.ts +9 -8
  334. package/demos/pc/app/tree/drag.spec.ts +10 -18
  335. package/demos/pc/app/tree/edit.spec.ts +24 -103
  336. package/demos/pc/app/tree/expand-control.spec.ts +22 -18
  337. package/demos/pc/app/tree/filter-view.spec.ts +16 -18
  338. package/demos/pc/app/tree/icons.spec.ts +20 -18
  339. package/demos/pc/app/tree/lazy.spec.ts +10 -18
  340. package/demos/pc/app/tree/node-hl.spec.ts +27 -18
  341. package/demos/pc/app/tree/node-op-composition-api.vue +12 -6
  342. package/demos/pc/app/tree/node-op.spec.ts +32 -19
  343. package/demos/pc/app/tree/other.spec.ts +5 -18
  344. package/demos/pc/app/tree/props.spec.ts +7 -18
  345. package/demos/pc/app/tree/radio.spec.ts +10 -18
  346. package/demos/pc/app/tree/slot.spec.ts +12 -18
  347. package/demos/pc/app/tree/webdoc/tree.js +2 -2
  348. package/demos/pc/app/tree-menu/accordion.spec.ts +3 -1
  349. package/demos/pc/app/tree-menu/basic-usage.spec.ts +4 -2
  350. package/demos/pc/app/tree-menu/current-node-composition-api.vue +7 -3
  351. package/demos/pc/app/tree-menu/current-node.spec.ts +20 -13
  352. package/demos/pc/app/tree-menu/current-node.vue +8 -6
  353. package/demos/pc/app/tree-menu/custom-icon.spec.ts +12 -2
  354. package/demos/pc/app/tree-menu/data-resource.spec.ts +33 -21
  355. package/demos/pc/app/tree-menu/default-expand-all.spec.ts +25 -8
  356. package/demos/pc/app/tree-menu/default-expanded-keys-highlight.spec.ts +6 -4
  357. package/demos/pc/app/tree-menu/default-expanded-keys.spec.ts +11 -7
  358. package/demos/pc/app/tree-menu/draggable.spec.ts +11 -4
  359. package/demos/pc/app/tree-menu/empty-text.spec.ts +1 -1
  360. package/demos/pc/app/tree-menu/event-allow-draggable.spec.ts +4 -1
  361. package/demos/pc/app/tree-menu/events.spec.ts +56 -28
  362. package/demos/pc/app/tree-menu/expand-on-click-node.spec.ts +32 -3
  363. package/demos/pc/app/tree-menu/filter-node-method.spec.ts +9 -6
  364. package/demos/pc/app/tree-menu/filter-node-method.vue +0 -4
  365. package/demos/pc/app/tree-menu/indent.spec.ts +9 -4
  366. package/demos/pc/app/tree-menu/lazy-load.spec.ts +8 -4
  367. package/demos/pc/app/tree-menu/menu-collapsible.spec.ts +5 -2
  368. package/demos/pc/app/tree-menu/show-checkbox.spec.ts +79 -41
  369. package/demos/pc/app/tree-menu/text-ellipsis.spec.ts +7 -4
  370. package/demos/pc/app/tree-menu/tree-menu-slot.spec.ts +4 -3
  371. package/demos/pc/app/tree-menu/webdoc/tree-menu.cn.md +1 -1
  372. package/demos/pc/app/tree-menu/webdoc/tree-menu.en.md +1 -1
  373. package/demos/pc/app/tree-menu/webdoc/tree-menu.js +3 -3
  374. package/demos/pc/app/user-contact/webdoc/user-contact.js +21 -13
  375. package/demos/pc/app/user-head/icon-user-head.spec.ts +3 -3
  376. package/demos/pc/app/user-head/image-user-head.spec.ts +2 -2
  377. package/demos/pc/app/user-head/webdoc/user-head.js +44 -28
  378. package/demos/pc/webdoc/import-components.md +2 -4
  379. package/demos/pc/webdoc/theme-en.md +8 -4
  380. package/demos/pc/webdoc/theme.md +10 -3
  381. package/package.json +5 -5
  382. package/src/App.vue +0 -2
  383. package/src/i18n/index.js +3 -3
  384. package/src/main.js +2 -7
  385. package/src/menus.jsx +1 -1
  386. package/src/tools/useApiMode.js +2 -2
  387. package/src/tools/utils.js +2 -2
  388. package/src/views/components/VersionTip.vue +14 -8
  389. package/src/views/components/components.vue +36 -37
  390. package/src/views/components/demo.vue +11 -11
  391. package/src/views/docs/docs.vue +2 -3
  392. package/src/views/layout/layout.vue +17 -19
  393. package/src/views/overview.vue +16 -13
  394. package/vite.config.ts +10 -4
  395. package/demos/mobile/app/pull-refresh/disabled.vue +0 -57
  396. package/demos/mobile/app/pull-refresh/head-height.vue +0 -31
  397. package/demos/mobile/app/pull-refresh/result-text.vue +0 -46
  398. package/demos/mobile/app/pull-refresh/success-duration.vue +0 -31
  399. package/demos/mobile/app/pull-refresh/success-text.vue +0 -27
  400. package/demos/pc/app/grid/loading/grid-loading-off-tip.spec.js +0 -8
  401. package/demos/pc/app/tag/before-delete.vue +0 -64
  402. package/demos/pc/app/tag/closable-composition-api.vue +0 -25
  403. package/demos/pc/app/tag/closable.spec.ts +0 -14
  404. /package/demos/pc/app/button/{autofocus.spec.js → autofocus.spec.ts} +0 -0
  405. /package/demos/pc/app/button/{basic-usage.spec.js → basic-usage.spec.ts} +0 -0
  406. /package/demos/pc/app/button/{click.spec.js → click.spec.ts} +0 -0
  407. /package/demos/pc/app/button/{icon.spec.js → icon.spec.ts} +0 -0
  408. /package/demos/pc/app/button/{image.spec.js → image.spec.ts} +0 -0
  409. /package/demos/pc/app/button/{loading.spec.js → loading.spec.ts} +0 -0
  410. /package/demos/pc/app/button/{reset-time.spec.js → reset-time.spec.ts} +0 -0
  411. /package/demos/pc/app/button/{size.spec.js → size.spec.ts} +0 -0
  412. /package/demos/pc/app/button/{text.spec.js → text.spec.ts} +0 -0
@@ -0,0 +1,105 @@
1
+ <template>
2
+ <div class="demo-container">
3
+ <div class="option-row">
4
+ <span class="tip">选择版型:</span>
5
+ <tiny-radio-group v-model="pattern">
6
+ <tiny-radio label="default">默认:default</tiny-radio>
7
+ <tiny-radio label="classic">经典:classic</tiny-radio>
8
+ </tiny-radio-group>
9
+ </div>
10
+ <tiny-container :pattern="pattern">
11
+ <template #left>
12
+ <div>标题</div>
13
+ </template>
14
+ <template #center>
15
+ <div>
16
+ 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
17
+ </div>
18
+ </template>
19
+ <template #right>
20
+ <div>状态</div>
21
+ </template>
22
+ </tiny-container>
23
+
24
+ <tiny-container :pattern="pattern">
25
+ <template #left>
26
+ <div>标题标题标题标题标题</div>
27
+ </template>
28
+ <template #center>
29
+ <div>
30
+ 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
31
+ </div>
32
+ </template>
33
+ <template #right>
34
+ <div>状态状态状态状态状态</div>
35
+ </template>
36
+ </tiny-container>
37
+ </div>
38
+ </template>
39
+
40
+ <script>
41
+ import { Container, Radio, RadioGroup } from '@opentiny/vue'
42
+
43
+ export default {
44
+ components: {
45
+ TinyContainer: Container,
46
+ TinyRadio: Radio,
47
+ TinyRadioGroup: RadioGroup
48
+ },
49
+ data() {
50
+ return {
51
+ pattern: 'default'
52
+ }
53
+ }
54
+ }
55
+ </script>
56
+
57
+ <style scoped>
58
+ .option-row {
59
+ display: flex;
60
+ align-items: center;
61
+ }
62
+ .option-row > span {
63
+ display: inline-block;
64
+ flex-shrink: 0;
65
+ width: 100px;
66
+ font-size: 16px;
67
+ font-weight: bold;
68
+ }
69
+ .option-row .tiny-radio-group {
70
+ flex-wrap: wrap;
71
+ height: 60px;
72
+ }
73
+ .demo-container .tiny-container {
74
+ height: 300px;
75
+ color: #5f6774;
76
+ text-align: center;
77
+ font-size: 18px;
78
+ position: relative;
79
+ margin-top: 24px;
80
+ }
81
+
82
+ .demo-container .tiny-container :deep(.tiny-container__header) {
83
+ background-color: #ecf8ff;
84
+ border: 3px solid #ffffff;
85
+ color: #5b90af;
86
+ }
87
+
88
+ .demo-container .tiny-container :deep(.tiny-container__aside) {
89
+ background-color: #fff0f0;
90
+ border: 3px solid #ffffff;
91
+ color: #d27070;
92
+ }
93
+
94
+ .demo-container .tiny-container :deep(.tiny-container__main) {
95
+ background-color: #fffdec;
96
+ border: 3px solid #ffffff;
97
+ color: #b1a859;
98
+ }
99
+
100
+ .demo-container .tiny-container :deep(.tiny-container__footer) {
101
+ background-color: #e8ffed;
102
+ border: 3px solid #ffffff;
103
+ color: #84a18a;
104
+ }
105
+ </style>
@@ -0,0 +1,93 @@
1
+ <template>
2
+ <div class="demo-container">
3
+ <div class="option-row">
4
+ <span class="tip">选择版型:</span>
5
+ <tiny-radio-group v-model="pattern">
6
+ <tiny-radio label="default">默认:default</tiny-radio>
7
+ <tiny-radio label="classic">经典:classic</tiny-radio>
8
+ </tiny-radio-group>
9
+ </div>
10
+ <tiny-container :pattern="pattern" :left-width="leftWidth" :right-width="rightWidth">
11
+ <template #left>
12
+ <div>标题标题标题标题标题</div>
13
+ </template>
14
+ <template #center>
15
+ <div>
16
+ 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
17
+ </div>
18
+ </template>
19
+ <template #right>
20
+ <div>状态状态状态状态状态</div>
21
+ </template>
22
+ </tiny-container>
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ import { Container, Radio, RadioGroup } from '@opentiny/vue'
28
+
29
+ export default {
30
+ components: {
31
+ TinyContainer: Container,
32
+ TinyRadio: Radio,
33
+ TinyRadioGroup: RadioGroup
34
+ },
35
+ data() {
36
+ return {
37
+ pattern: 'default',
38
+ leftWidth: 80,
39
+ rightWidth: 80
40
+ }
41
+ }
42
+ }
43
+ </script>
44
+
45
+ <style scoped>
46
+ .option-row {
47
+ display: flex;
48
+ align-items: center;
49
+ }
50
+ .option-row > span {
51
+ display: inline-block;
52
+ flex-shrink: 0;
53
+ width: 100px;
54
+ font-size: 16px;
55
+ font-weight: bold;
56
+ }
57
+ .option-row .tiny-radio-group {
58
+ flex-wrap: wrap;
59
+ height: 60px;
60
+ }
61
+ .demo-container .tiny-container {
62
+ height: 300px;
63
+ color: #5f6774;
64
+ text-align: center;
65
+ font-size: 18px;
66
+ position: relative;
67
+ margin-top: 24px;
68
+ }
69
+
70
+ .demo-container .tiny-container :deep(.tiny-container__header) {
71
+ background-color: #ecf8ff;
72
+ border: 3px solid #ffffff;
73
+ color: #5b90af;
74
+ }
75
+
76
+ .demo-container .tiny-container :deep(.tiny-container__aside) {
77
+ background-color: #fff0f0;
78
+ border: 3px solid #ffffff;
79
+ color: #d27070;
80
+ }
81
+
82
+ .demo-container .tiny-container :deep(.tiny-container__main) {
83
+ background-color: #fffdec;
84
+ border: 3px solid #ffffff;
85
+ color: #b1a859;
86
+ }
87
+
88
+ .demo-container .tiny-container :deep(.tiny-container__footer) {
89
+ background-color: #e8ffed;
90
+ border: 3px solid #ffffff;
91
+ color: #84a18a;
92
+ }
93
+ </style>
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Container 版型
3
+ ---
4
+
5
+ # Container 版型
6
+
7
+ <div> 内置2种常见布局版型,方便快速搭建页面。</div>
@@ -0,0 +1,7 @@
1
+ ---
2
+ title: Container dimension
3
+ ---
4
+
5
+ # Container dimension
6
+
7
+ <div>Container component for layout, which facilitates page layout creation.</div>
@@ -0,0 +1,80 @@
1
+ export default {
2
+ column: '2',
3
+ owner: '',
4
+ demos: [
5
+ {
6
+ 'demoId': 'basic-usage',
7
+ 'name': { 'zh-CN': '基础用法', 'en-US': 'Basic Usage' },
8
+ 'desc': {
9
+ 'zh-CN': '基础用法',
10
+ 'en-US': 'base'
11
+ },
12
+ 'codeFiles': ['basic-usage.vue']
13
+ },
14
+ {
15
+ 'demoId': 'custom-width',
16
+ 'name': { 'zh-CN': '自定义宽度和高度', 'en-US': 'Custom width ' },
17
+ 'desc': {
18
+ 'zh-CN': '自定义宽度',
19
+ 'en-US': 'custom width'
20
+ },
21
+ 'codeFiles': ['custom-width.vue']
22
+ }
23
+ ],
24
+ apis: [
25
+ {
26
+ 'name': 'container',
27
+ 'type': 'component',
28
+ 'props': [
29
+ {
30
+ 'name': 'pattern',
31
+ 'type': `'default' | 'classic'`,
32
+ 'defaultValue': '"default"',
33
+ 'desc': {
34
+ 'zh-CN': '版型类型',
35
+ 'en-US': 'Measurement type'
36
+ },
37
+ 'demoId': 'basic-usaage'
38
+ },
39
+ {
40
+ 'name': 'left-width',
41
+ 'type': 'number | string',
42
+ 'defaultValue': '60',
43
+ 'desc': { 'zh-CN': '左侧宽度', 'en-US': 'Left width' },
44
+ 'demoId': 'custom-width'
45
+ },
46
+ {
47
+ 'name': 'right-width',
48
+ 'type': 'number | string',
49
+ 'defaultValue': '44',
50
+ 'desc': { 'zh-CN': '右侧宽度', 'en-US': 'right width' },
51
+ 'demoId': 'custom-width'
52
+ }
53
+ ],
54
+ 'events': [],
55
+ 'slots': [
56
+ {
57
+ 'name': 'left',
58
+ 'type': '',
59
+ 'defaultValue': '',
60
+ 'desc': { 'zh-CN': '左侧内容插槽', 'en-US': 'Title Slot' },
61
+ 'demoId': 'basic-usage'
62
+ },
63
+ {
64
+ 'name': 'center',
65
+ 'type': '',
66
+ 'defaultValue': '',
67
+ 'desc': { 'zh-CN': '中部内容插槽', 'en-US': 'Renter Slot' },
68
+ 'demoId': 'basic-usage'
69
+ },
70
+ {
71
+ 'name': 'right',
72
+ 'type': '',
73
+ 'defaultValue': '',
74
+ 'desc': { 'zh-CN': '右侧内容插槽', 'en-US': 'Right Slot' },
75
+ 'demoId': 'basic-usage'
76
+ }
77
+ ]
78
+ }
79
+ ]
80
+ }
@@ -1,10 +1,24 @@
1
1
  <template>
2
- <tiny-pull-refresh :pullDown="pullDownRefresh" :animation-duration="1000">
3
- <h3>hello pull-refresh</h3>
4
- </tiny-pull-refresh>
2
+ <div>
3
+ <div class="page__hd">
4
+ <h1 class="page__title">Refresh</h1>
5
+ <p class="page__desc">刷新</p>
6
+ </div>
7
+ <div class="page__content">
8
+ <tiny-pull-refresh
9
+ animation-duration="1000"
10
+ v-model="value"
11
+ :has-more="hasMore"
12
+ @pullDown="handlerPullDownRefresh"
13
+ @pullUp="handlerPullUpLoad"
14
+ >
15
+ <div :key="item.name" v-for="item in data">{{ item.label }}</div>
16
+ </tiny-pull-refresh>
17
+ </div>
18
+ </div>
5
19
  </template>
6
20
 
7
- <script lang="jsx">
21
+ <script>
8
22
  import { PullRefresh } from '@opentiny/vue'
9
23
 
10
24
  export default {
@@ -13,19 +27,51 @@ export default {
13
27
  },
14
28
  data() {
15
29
  return {
16
- pullDownRefresh: {
17
- handler: () => this.handlerPullDownRefresh()
18
- }
30
+ data: [...Array(30)].map((i, index) => {
31
+ return { label: `${index + 1} list data` }
32
+ }),
33
+ value: true,
34
+ hasMore: true
19
35
  }
20
36
  },
21
37
  methods: {
38
+ handlerPullUpLoad() {
39
+ setTimeout(() => {
40
+ const length = this.data.length
41
+ for (let i = 1; i <= 10; i++) {
42
+ this.data.push({ label: `${i + length} list data` })
43
+ }
44
+ this.value = false
45
+ }, 2000)
46
+ },
22
47
  handlerPullDownRefresh() {
23
- return new Promise((resolve) => {
24
- setTimeout(() => {
25
- resolve()
26
- }, 1000)
27
- })
48
+ setTimeout(() => {
49
+ this.value = false
50
+ }, 2000)
28
51
  }
29
52
  }
30
53
  }
31
54
  </script>
55
+
56
+ <style scoped>
57
+ .page__hd {
58
+ padding: 40px;
59
+ }
60
+
61
+ .page__title {
62
+ font-weight: 400;
63
+ font-size: 21px;
64
+ text-align: left;
65
+ }
66
+
67
+ .page__desc {
68
+ margin-top: 5px;
69
+ color: #888;
70
+ font-size: 14px;
71
+ text-align: left;
72
+ }
73
+
74
+ .page__content {
75
+ height: 350px;
76
+ }
77
+ </style>
@@ -2,20 +2,22 @@
2
2
  <div>
3
3
  <div class="page__hd">
4
4
  <h1 class="page__title">Refresh</h1>
5
- <p class="page__desc">下拉刷新</p>
5
+ <p class="page__desc">刷新</p>
6
+ </div>
7
+ <div class="page__content">
8
+ <tiny-pull-refresh
9
+ v-model="value"
10
+ :has-more="hasMore"
11
+ @pullDown="handlerPullDownRefresh"
12
+ @pullUp="handlerPullUpLoad"
13
+ >
14
+ <div :key="item.name" v-for="item in data">{{ item.label }}</div>
15
+ </tiny-pull-refresh>
6
16
  </div>
7
- <tiny-pull-refresh
8
- :pullDown="pullDownRefresh"
9
- success-text="刷新成功"
10
- animation-duration="500"
11
- success-duration="500"
12
- >
13
- <h3>hello pull-refresh</h3>
14
- </tiny-pull-refresh>
15
17
  </div>
16
18
  </template>
17
19
 
18
- <script lang="jsx">
20
+ <script>
19
21
  import { PullRefresh } from '@opentiny/vue'
20
22
 
21
23
  export default {
@@ -24,18 +26,24 @@ export default {
24
26
  },
25
27
  data() {
26
28
  return {
27
- pullDownRefresh: {
28
- handler: () => this.handlerPullDownRefresh()
29
- }
29
+ data: [...Array(30)].map((i, index) => {
30
+ return { label: `${index} list data` }
31
+ }),
32
+ value: true,
33
+ hasMore: true
30
34
  }
31
35
  },
32
36
  methods: {
37
+ handlerPullUpLoad() {
38
+ setTimeout(() => {
39
+ this.value = false
40
+ this.hasMore = false
41
+ }, 3000)
42
+ },
33
43
  handlerPullDownRefresh() {
34
- return new Promise((resolve) => {
35
- setTimeout(() => {
36
- resolve()
37
- }, 1000)
38
- })
44
+ setTimeout(() => {
45
+ this.value = false
46
+ }, 3000)
39
47
  }
40
48
  }
41
49
  }
@@ -45,15 +53,21 @@ export default {
45
53
  .page__hd {
46
54
  padding: 40px;
47
55
  }
56
+
48
57
  .page__title {
49
58
  font-weight: 400;
50
59
  font-size: 21px;
51
60
  text-align: left;
52
61
  }
62
+
53
63
  .page__desc {
54
64
  margin-top: 5px;
55
65
  color: #888;
56
66
  font-size: 14px;
57
67
  text-align: left;
58
68
  }
69
+
70
+ .page__content {
71
+ height: 350px;
72
+ }
59
73
  </style>
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <div>
3
+ <div class="page__hd">
4
+ <h1 class="page__title">Refresh</h1>
5
+ <p class="page__desc">刷新</p>
6
+ </div>
7
+ <div class="page__content">
8
+ <tiny-pull-refresh v-model="value" :has-more="hasMore" disabled-pull-down @pullUp="handlerPullUpLoad">
9
+ <div :key="item.name" v-for="item in data">{{ item.label }}</div>
10
+ </tiny-pull-refresh>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import { PullRefresh } from '@opentiny/vue'
17
+
18
+ export default {
19
+ components: {
20
+ TinyPullRefresh: PullRefresh
21
+ },
22
+ data() {
23
+ return {
24
+ data: [...Array(30)].map((i, index) => {
25
+ return { label: `${index + 1} list data` }
26
+ }),
27
+ value: false,
28
+ hasMore: true
29
+ }
30
+ },
31
+ methods: {
32
+ handlerPullUpLoad() {
33
+ setTimeout(() => {
34
+ const length = this.data.length
35
+ for (let i = 1; i <= 10; i++) {
36
+ this.data.push({ label: `${i + length} list data` })
37
+ }
38
+ this.value = false
39
+ }, 3000)
40
+ }
41
+ }
42
+ }
43
+ </script>
44
+
45
+ <style scoped>
46
+ .page__hd {
47
+ padding: 40px;
48
+ }
49
+
50
+ .page__title {
51
+ font-weight: 400;
52
+ font-size: 21px;
53
+ text-align: left;
54
+ }
55
+
56
+ .page__desc {
57
+ margin-top: 5px;
58
+ color: #888;
59
+ font-size: 14px;
60
+ text-align: left;
61
+ }
62
+
63
+ .page__content {
64
+ height: 350px;
65
+ }
66
+ </style>
@@ -0,0 +1,67 @@
1
+ <template>
2
+ <div>
3
+ <div class="page__hd">
4
+ <h1 class="page__title">Refresh</h1>
5
+ <p class="page__desc">刷新</p>
6
+ </div>
7
+ <div class="page__content">
8
+ <tiny-pull-refresh v-model="value" :has-more="hasMore" disabled-pull-up @pullDown="handlerPullDown">
9
+ <div :key="item.name" v-for="item in data">{{ item.label }}</div>
10
+ </tiny-pull-refresh>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import { PullRefresh } from '@opentiny/vue'
17
+
18
+ export default {
19
+ components: {
20
+ TinyPullRefresh: PullRefresh
21
+ },
22
+ data() {
23
+ return {
24
+ data: [...Array(30)].map((i, index) => {
25
+ return { label: `${index + 1} list data` }
26
+ }),
27
+ value: false,
28
+ hasMore: true
29
+ }
30
+ },
31
+ methods: {
32
+ handlerPullDown() {
33
+ setTimeout(() => {
34
+ this.data = []
35
+ const length = this.data.length
36
+ for (let i = 1; i <= 20; i++) {
37
+ this.data.push({ label: `${i + length} list data` })
38
+ }
39
+ this.value = false
40
+ }, 3000)
41
+ }
42
+ }
43
+ }
44
+ </script>
45
+
46
+ <style scoped>
47
+ .page__hd {
48
+ padding: 40px;
49
+ }
50
+
51
+ .page__title {
52
+ font-weight: 400;
53
+ font-size: 21px;
54
+ text-align: left;
55
+ }
56
+
57
+ .page__desc {
58
+ margin-top: 5px;
59
+ color: #888;
60
+ font-size: 14px;
61
+ text-align: left;
62
+ }
63
+
64
+ .page__content {
65
+ height: 350px;
66
+ }
67
+ </style>
@@ -6,11 +6,10 @@
6
6
  </div>
7
7
  <div class="page__content">
8
8
  <tiny-pull-refresh
9
- :pullUp="pullUpLoad"
10
- :hasMore="hasMore"
11
- success-text="刷新成功"
12
- animation-duration="500"
13
- success-duration="500"
9
+ v-model="value"
10
+ :has-more="hasMore"
11
+ @pullDown="handlerPullDownRefresh"
12
+ @pullUp="handlerPullUpLoad"
14
13
  >
15
14
  <div :key="item.name" v-for="item in data">{{ item.label }}</div>
16
15
  </tiny-pull-refresh>
@@ -27,25 +26,24 @@ export default {
27
26
  },
28
27
  data() {
29
28
  return {
30
- data: [{ label: 'hello pull-refresh' }],
31
- pullUpLoad: {
32
- handler: () => this.handlerPullUpLoad()
33
- },
29
+ data: [...Array(30)].map((i, index) => {
30
+ return { label: `${index} list data` }
31
+ }),
32
+ value: true,
34
33
  hasMore: true
35
34
  }
36
35
  },
37
36
  methods: {
38
37
  handlerPullUpLoad() {
39
- return new Promise((resolve) => {
40
- setTimeout(() => {
41
- if (this.data.length === 5) {
42
- this.hasMore = false
43
- } else {
44
- this.data.unshift({ label: 'hello pull-refresh up' })
45
- resolve(this.data)
46
- }
47
- }, 1000)
48
- })
38
+ setTimeout(() => {
39
+ this.value = false
40
+ this.hasMore = false
41
+ }, 3000)
42
+ },
43
+ handlerPullDownRefresh() {
44
+ setTimeout(() => {
45
+ this.value = false
46
+ }, 3000)
49
47
  }
50
48
  }
51
49
  }
@@ -55,18 +53,21 @@ export default {
55
53
  .page__hd {
56
54
  padding: 40px;
57
55
  }
56
+
58
57
  .page__title {
59
58
  font-weight: 400;
60
59
  font-size: 21px;
61
60
  text-align: left;
62
61
  }
62
+
63
63
  .page__desc {
64
64
  margin-top: 5px;
65
65
  color: #888;
66
66
  font-size: 14px;
67
67
  text-align: left;
68
68
  }
69
+
69
70
  .page__content {
70
- height: 250px;
71
+ height: 350px;
71
72
  }
72
73
  </style>