@opentiny/vue-docs 2.2.4 → 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.
- package/demos/mobile/app/container/basic-usage.vue +105 -0
- package/demos/mobile/app/container/custom-width.vue +93 -0
- package/demos/mobile/app/container/webdoc/container.cn.md +7 -0
- package/demos/mobile/app/container/webdoc/container.en.md +7 -0
- package/demos/mobile/app/container/webdoc/container.js +80 -0
- package/demos/mobile/app/pull-refresh/animation-duration.vue +58 -12
- package/demos/mobile/app/pull-refresh/base.vue +32 -18
- package/demos/mobile/app/pull-refresh/disabled-pull-down.vue +66 -0
- package/demos/mobile/app/pull-refresh/disabled-pull-up.vue +67 -0
- package/demos/mobile/app/pull-refresh/{hasmore.vue → event.vue} +21 -20
- package/demos/mobile/app/pull-refresh/{enhance.vue → has-more.vue} +20 -25
- package/demos/mobile/app/pull-refresh/loosing-text.vue +55 -12
- package/demos/mobile/app/pull-refresh/pull-refresh-slot.vue +64 -15
- package/demos/mobile/app/pull-refresh/pull-up-distance.vue +74 -0
- package/demos/mobile/app/pull-refresh/pulling-text.vue +56 -12
- package/demos/mobile/app/pull-refresh/webdoc/pull-refresh.js +98 -120
- package/demos/mobile/app/tabs/before-leave.vue +3 -3
- package/demos/mobile/app/tabs/tabs-events.vue +7 -7
- package/demos/mobile/menus.js +4 -1
- package/demos/mobile-first/app/tabs/basic-usage.vue +3 -3
- package/demos/mobile-first/app/tabs/before-leave.vue +3 -3
- package/demos/mobile-first/app/tabs/change-title.vue +2 -2
- package/demos/mobile-first/app/tabs/custom-tab-content.vue +3 -3
- package/demos/mobile-first/app/tabs/custom-tab-title.vue +3 -3
- package/demos/mobile-first/app/tabs/position-bottom.vue +10 -10
- package/demos/mobile-first/app/tabs/position-left.vue +10 -10
- package/demos/mobile-first/app/tabs/position-right.vue +10 -10
- package/demos/mobile-first/app/tabs/position.vue +10 -10
- package/demos/mobile-first/app/tabs/prevent-tab-switching.vue +3 -3
- package/demos/mobile-first/app/tabs/stretch-wh.vue +3 -3
- package/demos/mobile-first/app/tabs/tab-style-bordercard.vue +10 -10
- package/demos/mobile-first/app/tabs/tab-style-card.vue +10 -10
- package/demos/mobile-first/app/tabs/tabdata-title.vue +4 -4
- package/demos/mobile-first/app/tabs/tabs-draggable.vue +1 -1
- package/demos/mobile-first/app/tabs/tabs-events-add.vue +3 -3
- package/demos/mobile-first/app/tabs/tabs-events-click.vue +3 -3
- package/demos/mobile-first/app/tabs/tabs-events-close.vue +4 -4
- package/demos/mobile-first/app/tabs/tabs-events-edit.vue +4 -4
- package/demos/mobile-first/app/tabs/tabs-separator.vue +8 -8
- package/demos/mobile-first/app/tabs/tabs-size.vue +3 -3
- package/demos/mobile-first/app/tabs/tabs-tabs.vue +2 -2
- package/demos/mobile-first/app/tabs/with-add.vue +1 -1
- package/demos/pc/app/action-menu/disabled.vue +2 -1
- package/demos/pc/app/action-menu/icon-composition-api.vue +73 -0
- package/demos/pc/app/action-menu/icon.vue +79 -0
- package/demos/pc/app/action-menu/popper-class.spec.ts +2 -1
- package/demos/pc/app/action-menu/webdoc/action-menu.js +42 -1
- package/demos/pc/app/autocomplete/webdoc/autocomplete.js +30 -16
- package/demos/pc/app/breadcrumb/webdoc/breadcrumb.js +3 -3
- package/demos/pc/app/button/basic-usage-composition-api.vue +2 -0
- package/demos/pc/app/button/basic-usage.vue +2 -0
- package/demos/pc/app/button/click-composition-api.vue +1 -1
- package/demos/pc/app/button/click.vue +1 -1
- package/demos/pc/app/button/dynamic-disabled-composition-api.vue +10 -1
- package/demos/pc/app/button/{dynamic-disabled.spec.js → dynamic-disabled.spec.ts} +4 -0
- package/demos/pc/app/button/dynamic-disabled.vue +12 -3
- package/demos/pc/app/button/ghost-composition-api.vue +26 -0
- package/demos/pc/app/button/ghost.spec.ts +69 -0
- package/demos/pc/app/button/ghost.vue +32 -0
- package/demos/pc/app/button/icon-composition-api.vue +2 -0
- package/demos/pc/app/button/icon.vue +2 -0
- package/demos/pc/app/button/loading-composition-api.vue +2 -0
- package/demos/pc/app/button/loading.vue +2 -0
- package/demos/pc/app/button/size-composition-api.vue +2 -0
- package/demos/pc/app/button/size.vue +2 -0
- package/demos/pc/app/button/text-composition-api.vue +1 -1
- package/demos/pc/app/button/text.vue +1 -1
- package/demos/pc/app/button/webdoc/button.js +28 -1
- package/demos/pc/app/button-group/button-group-multiple-composition-api.vue +9 -9
- package/demos/pc/app/button-group/button-group-multiple.vue +9 -9
- package/demos/pc/app/button-group/change-event-composition-api.vue +1 -1
- package/demos/pc/app/button-group/change-event.vue +1 -1
- package/demos/pc/app/button-group/show-edit-composition-api.vue +1 -1
- package/demos/pc/app/button-group/show-edit.vue +1 -1
- package/demos/pc/app/button-group/webdoc/button-group.js +2 -3
- package/demos/pc/app/carousel/webdoc/carousel.js +82 -49
- package/demos/pc/app/cascader/auto-load-checkStrictly-composition-api.vue +2 -1
- package/demos/pc/app/cascader/auto-load-checkStrictly.vue +2 -1
- package/demos/pc/app/cascader/auto-load-composition-api.vue +3 -1
- package/demos/pc/app/cascader/auto-load.vue +2 -1
- package/demos/pc/app/cascader/events-composition-api.vue +1 -1
- package/demos/pc/app/cascader/expand-trigger-composition-api.vue +195 -2
- package/demos/pc/app/cascader/show-all-levels-composition-api.vue +197 -2
- package/demos/pc/app/cascader/webdoc/cascader.js +27 -13
- package/demos/pc/app/cascader-panel/basic-usage-composition-api.vue +3 -1
- package/demos/pc/app/cascader-panel/basic-usage.vue +2 -1
- package/demos/pc/app/cascader-panel/cascader-panel-props-composition-api.vue +3 -1
- package/demos/pc/app/cascader-panel/cascader-panel-props.vue +3 -1
- package/demos/pc/app/cascader-panel/change-composition-api.vue +1 -2
- package/demos/pc/app/cascader-panel/change.vue +1 -1
- package/demos/pc/app/cascader-panel/webdoc/cascader-panel.js +5 -5
- package/demos/pc/app/color-picker/webdoc/color-picker.js +36 -18
- package/demos/pc/app/color-select-panel/webdoc/color-select-panel.js +32 -19
- package/demos/pc/app/config-provider/basic.spec.ts +9 -0
- package/demos/pc/app/config-provider/tag.spec.ts +12 -0
- package/demos/pc/app/config-provider/text-direct.spec.ts +11 -0
- package/demos/pc/app/config-provider/webdoc/config-provider.en.md +7 -0
- package/demos/pc/app/config-provider/webdoc/config-provider.js +27 -12
- package/demos/pc/app/container/basic-usage.spec.js +47 -2
- package/demos/pc/app/container/custom-with-height.spec.js +10 -2
- package/demos/pc/app/crop/webdoc/crop.js +53 -49
- package/demos/pc/app/dialog-box/webdoc/dialog-box.js +82 -83
- package/demos/pc/app/divider/webdoc/divider.js +25 -21
- package/demos/pc/app/dropdown/events-composition-api.vue +1 -1
- package/demos/pc/app/dropdown/events.spec.ts +1 -0
- package/demos/pc/app/dropdown/multi-level-composition-api.vue +4 -8
- package/demos/pc/app/dropdown/multi-level.spec.ts +16 -9
- package/demos/pc/app/dropdown/multi-level.vue +3 -7
- package/demos/pc/app/dropdown/show-icon-composition-api.vue +44 -21
- package/demos/pc/app/dropdown/show-icon.vue +42 -12
- package/demos/pc/app/dropdown/webdoc/dropdown.js +29 -8
- package/demos/pc/app/fall-menu/custom-menuitem.spec.ts +6 -9
- package/demos/pc/app/fall-menu/custom-slider-icon.spec.ts +10 -21
- package/demos/pc/app/fall-menu/data-resource.spec.ts +6 -9
- package/demos/pc/app/file-upload/abort-quest.spec.ts +6 -5
- package/demos/pc/app/file-upload/accept-file-image.spec.ts +9 -4
- package/demos/pc/app/file-upload/custom-trigger.spec.ts +1 -1
- package/demos/pc/app/file-upload/disabled.spec.ts +4 -5
- package/demos/pc/app/file-upload/drag-upload.spec.ts +1 -1
- package/demos/pc/app/file-upload/file-picture-card.spec.ts +7 -6
- package/demos/pc/app/file-upload/form-validation.spec.ts +2 -2
- package/demos/pc/app/file-upload/image-size.spec.ts +2 -2
- package/demos/pc/app/file-upload/max-file-count.spec.ts +6 -6
- package/demos/pc/app/file-upload/paste-upload-composition-api.vue +2 -2
- package/demos/pc/app/file-upload/paste-upload.spec.ts +19 -2
- package/demos/pc/app/file-upload/picture-card.spec.ts +6 -5
- package/demos/pc/app/file-upload/picture-list.spec.ts +2 -3
- package/demos/pc/app/file-upload/prevent-delete-file.spec.ts +1 -1
- package/demos/pc/app/file-upload/prevent-upload-file.spec.ts +1 -1
- package/demos/pc/app/file-upload/upload-events.spec.ts +6 -4
- package/demos/pc/app/file-upload/upload-file-list-slot.spec.ts +18 -0
- package/demos/pc/app/file-upload/upload-file-list-thumb-composition-api.vue +4 -3
- package/demos/pc/app/file-upload/upload-file-list-thumb.spec.ts +2 -2
- package/demos/pc/app/file-upload/upload-file-list-thumb.vue +4 -3
- package/demos/pc/app/file-upload/upload-file-list.spec.ts +9 -9
- package/demos/pc/app/file-upload/upload-limit.spec.ts +5 -8
- package/demos/pc/app/file-upload/upload-request.spec.ts +1 -1
- package/demos/pc/app/file-upload/upload-user-head.spec.ts +1 -1
- package/demos/pc/app/file-upload/webdoc/file-upload.js +4 -4
- package/demos/pc/app/file-upload//346/265/213/350/257/225.txt +1 -0
- package/demos/pc/app/form/custom-validation-rule-composition-api.vue +2 -14
- package/demos/pc/app/form/custom-validation-rule.vue +2 -8
- package/demos/pc/app/form/form-validate-field.vue +2 -2
- package/demos/pc/app/form/size.spec.ts +26 -6
- package/demos/pc/app/grid/custom-style/body-style-composition-api.vue +1 -1
- package/demos/pc/app/grid/custom-style/footer-style-composition-api.vue +64 -19
- package/demos/pc/app/grid/drag/row-drag-ctrl-composition-api.vue +4 -4
- package/demos/pc/app/grid/edit/trigger-mode-hm-editing-composition-api.vue +2 -2
- package/demos/pc/app/grid/edit/trigger-mode-hm-editing.vue +1 -1
- package/demos/pc/app/grid/event/cell-mouse-event-composition-api.vue +1 -1
- package/demos/pc/app/grid/event/context-menu-event-composition-api.vue +1 -0
- package/demos/pc/app/grid/event/edit-event-composition-api.vue +1 -1
- package/demos/pc/app/grid/expand/set-row-expansion-composition-api.vue +9 -4
- package/demos/pc/app/grid/loading/{grid-loading-off-tip-composition-api.vue → grid-custom-loading-composition-api.vue} +29 -4
- package/demos/pc/app/grid/loading/grid-custom-loading.spec.js +7 -0
- package/demos/pc/app/grid/loading/{grid-loading-off-tip.vue → grid-custom-loading.vue} +27 -1
- package/demos/pc/app/grid/operation-column/clear-and-set-radio-row-composition-api.vue +5 -1
- package/demos/pc/app/grid/operation-column/selection-operation-composition-api.vue +32 -0
- package/demos/pc/app/grid/size/grid-size-composition-api.vue +17 -0
- package/demos/pc/app/grid/slot/editor-slot-composition-api.vue +13 -7
- package/demos/pc/app/grid/sort/combinations-sort-composition-api.vue +3 -3
- package/demos/pc/app/grid/sort/combinations-sort.spec.js +3 -0
- package/demos/pc/app/grid/sort/combinations-sort.vue +3 -3
- package/demos/pc/app/grid/toolbar/insert-remove-rows-composition-api.vue +1 -1
- package/demos/pc/app/grid/toolbar/insert-remove-rows.vue +1 -1
- package/demos/pc/app/grid/toolbar/refresh-grid-composition-api.vue +105 -0
- package/demos/pc/app/grid/tree-table/set-tree-expansion-composition-api.vue +4 -4
- package/demos/pc/app/grid/validation/before-submit-validation-composition-api.vue +19 -2
- package/demos/pc/app/grid/validation/before-submit-validation.spec.js +5 -2
- package/demos/pc/app/grid/validation/before-submit-validation.vue +19 -2
- package/demos/pc/app/grid/webdoc/grid-loading.js +9 -5
- package/demos/pc/app/grid/webdoc/grid-size.js +2 -2
- package/demos/pc/app/grid/webdoc/grid-validation.js +1 -1
- package/demos/pc/app/grid/webdoc/grid.js +8 -1
- package/demos/pc/app/guide/callback-composition-api.vue +2 -2
- package/demos/pc/app/guide/callback.vue +2 -2
- package/demos/pc/app/guide/highlight-box-composition-api.vue +9 -8
- package/demos/pc/app/guide/highlight-box.vue +8 -2
- package/demos/pc/app/guide/offset-composition-api.vue +7 -2
- package/demos/pc/app/guide/offset.vue +7 -2
- package/demos/pc/app/guide/size-composition-api.vue +3 -8
- package/demos/pc/app/guide/size.vue +3 -8
- package/demos/pc/app/guide/webdoc/guide.js +2 -2
- package/demos/pc/app/image/basic-usage.spec.ts +9 -2
- package/demos/pc/app/image/events.spec.ts +3 -1
- package/demos/pc/app/image/lazy-composition-api.vue +2 -2
- package/demos/pc/app/image/lazy.spec.ts +7 -4
- package/demos/pc/app/image/lazy.vue +2 -2
- package/demos/pc/app/image/preview-in-dialog.spec.ts +15 -1
- package/demos/pc/app/image/preview.spec.ts +28 -13
- package/demos/pc/app/image/slot.spec.ts +3 -0
- package/demos/pc/app/input/webdoc/input.js +11 -11
- package/demos/pc/app/link/basic-usage-composition-api.vue +1 -1
- package/demos/pc/app/link/basic-usage.spec.ts +1 -1
- package/demos/pc/app/link/basic-usage.vue +1 -1
- package/demos/pc/app/link/config-href.spec.ts +2 -2
- package/demos/pc/app/link/custom-icon.spec.ts +5 -5
- package/demos/pc/app/link/dynamic-disable.spec.ts +11 -11
- package/demos/pc/app/link/focus-no-underline.spec.ts +3 -3
- package/demos/pc/app/link/link-style-composition-api.vue +6 -6
- package/demos/pc/app/link/link-style.spec.ts +36 -7
- package/demos/pc/app/link/link-style.vue +6 -6
- package/demos/pc/app/link/webdoc/link.js +20 -22
- package/demos/pc/app/link-menu/webdoc/link-menu.js +22 -22
- package/demos/pc/app/milestone/basic-usage-composition-api.vue +6 -6
- package/demos/pc/app/milestone/basic-usage.spec.ts +1 -1
- package/demos/pc/app/milestone/basic-usage.vue +6 -6
- package/demos/pc/app/milestone/line-style-composition-api.vue +6 -6
- package/demos/pc/app/milestone/line-style.vue +6 -6
- package/demos/pc/app/milestone/show-number-composition-api.vue +9 -7
- package/demos/pc/app/milestone/show-number.spec.ts +7 -7
- package/demos/pc/app/milestone/show-number.vue +9 -7
- package/demos/pc/app/milestone/solid-style-composition-api.vue +7 -7
- package/demos/pc/app/milestone/solid-style.spec.ts +7 -7
- package/demos/pc/app/milestone/solid-style.vue +7 -7
- package/demos/pc/app/milestone/webdoc/milestone.js +31 -12
- package/demos/pc/app/modal/webdoc/modal.js +80 -76
- package/demos/pc/app/nav-menu/basic-usage.spec.ts +2 -2
- package/demos/pc/app/nav-menu/before-skip-prevent.spec.ts +1 -1
- package/demos/pc/app/nav-menu/before-skip.spec.ts +1 -1
- package/demos/pc/app/nav-menu/custom-service.spec.ts +1 -2
- package/demos/pc/app/nav-menu/overflow.spec.ts +2 -2
- package/demos/pc/app/nav-menu/slot-logo.spec.ts +1 -1
- package/demos/pc/app/nav-menu/slot-toolbar.spec.ts +2 -2
- package/demos/pc/app/numeric/webdoc/numeric.js +33 -32
- package/demos/pc/app/search/basic-usage.spec.ts +1 -1
- package/demos/pc/app/search/clearable.spec.ts +1 -1
- package/demos/pc/app/search/events-composition-api.vue +6 -0
- package/demos/pc/app/search/events.spec.ts +9 -6
- package/demos/pc/app/search/events.vue +5 -0
- package/demos/pc/app/search/webdoc/search.js +14 -4
- package/demos/pc/app/slide-bar/webdoc/slide-bar.js +18 -12
- package/demos/pc/app/slider/webdoc/slider.js +23 -18
- package/demos/pc/app/steps/advanced-steps.spec.ts +3 -2
- package/demos/pc/app/steps/click-composition-api.vue +0 -1
- package/demos/pc/app/steps/click.spec.ts +1 -12
- package/demos/pc/app/steps/custom-steps-item.spec.ts +1 -1
- package/demos/pc/app/steps/node-status-composition-api.vue +1 -1
- package/demos/pc/app/steps/node-status.spec.ts +1 -1
- package/demos/pc/app/steps/node-status.vue +1 -1
- package/demos/pc/app/steps/normal-steps-composition-api.vue +1 -1
- package/demos/pc/app/steps/normal-steps.spec.ts +2 -2
- package/demos/pc/app/steps/normal-steps.vue +1 -1
- package/demos/pc/app/steps/only-number-composition-api.vue +1 -1
- package/demos/pc/app/steps/only-number.spec.ts +1 -1
- package/demos/pc/app/steps/only-number.vue +1 -1
- package/demos/pc/app/steps/show-divider-composition-api.vue +1 -1
- package/demos/pc/app/steps/show-divider.spec.ts +1 -1
- package/demos/pc/app/steps/show-divider.vue +1 -1
- package/demos/pc/app/steps/size-composition-api.vue +6 -9
- package/demos/pc/app/steps/size.spec.ts +1 -4
- package/demos/pc/app/steps/size.vue +4 -4
- package/demos/pc/app/steps/slot-active-node-desc-composition-api.vue +3 -1
- package/demos/pc/app/steps/slot-active-node-desc.spec.ts +1 -1
- package/demos/pc/app/steps/slot-active-node-desc.vue +3 -1
- package/demos/pc/app/steps/slot-description-composition-api.vue +6 -6
- package/demos/pc/app/steps/slot-description.spec.ts +1 -1
- package/demos/pc/app/steps/slot-description.vue +5 -5
- package/demos/pc/app/steps/slot-item-composition-api.vue +0 -1
- package/demos/pc/app/steps/slot-item.spec.ts +1 -7
- package/demos/pc/app/steps/slot-item.vue +0 -1
- package/demos/pc/app/steps/space.spec.ts +1 -1
- package/demos/pc/app/steps/text-position-composition-api.vue +1 -1
- package/demos/pc/app/steps/text-position.spec.ts +1 -4
- package/demos/pc/app/steps/text-position.vue +1 -1
- package/demos/pc/app/steps/vertical-steps.spec.ts +13 -19
- package/demos/pc/app/steps/webdoc/steps.js +18 -17
- package/demos/pc/app/tabs/basic-usage-composition-api.vue +4 -4
- package/demos/pc/app/tabs/basic-usage.vue +4 -4
- package/demos/pc/app/tabs/before-leave-composition-api.vue +3 -3
- package/demos/pc/app/tabs/before-leave.vue +3 -3
- package/demos/pc/app/tabs/custom-more-icon-composition-api.vue +1 -1
- package/demos/pc/app/tabs/custom-more-icon.vue +1 -1
- package/demos/pc/app/tabs/custom-tab-content-composition-api.vue +3 -3
- package/demos/pc/app/tabs/custom-tab-content.vue +3 -3
- package/demos/pc/app/tabs/custom-tab-title-composition-api.vue +3 -3
- package/demos/pc/app/tabs/custom-tab-title.vue +3 -3
- package/demos/pc/app/tabs/lazy-composition-api.vue +5 -3
- package/demos/pc/app/tabs/lazy.vue +5 -3
- package/demos/pc/app/tabs/position-composition-api.vue +22 -17
- package/demos/pc/app/tabs/position.spec.ts +4 -4
- package/demos/pc/app/tabs/position.vue +19 -18
- package/demos/pc/app/tabs/prevent-tab-switching-composition-api.vue +3 -3
- package/demos/pc/app/tabs/prevent-tab-switching.vue +3 -3
- package/demos/pc/app/tabs/stretch-wh-composition-api.vue +3 -3
- package/demos/pc/app/tabs/stretch-wh.vue +3 -3
- package/demos/pc/app/tabs/tab-style-bordercard-composition-api.vue +10 -10
- package/demos/pc/app/tabs/tab-style-bordercard.vue +10 -10
- package/demos/pc/app/tabs/tab-style-card-composition-api.vue +1 -1
- package/demos/pc/app/tabs/tab-style-card.vue +1 -1
- package/demos/pc/app/tabs/tabs-draggable-composition-api.vue +1 -1
- package/demos/pc/app/tabs/tabs-draggable.spec.ts +1 -7
- package/demos/pc/app/tabs/tabs-draggable.vue +1 -1
- package/demos/pc/app/tabs/tabs-events-click-composition-api.vue +3 -3
- package/demos/pc/app/tabs/tabs-events-click.vue +3 -3
- package/demos/pc/app/tabs/tabs-events-close-composition-api.vue +4 -4
- package/demos/pc/app/tabs/tabs-events-close.vue +4 -4
- package/demos/pc/app/tabs/tabs-events-edit-composition-api.vue +4 -4
- package/demos/pc/app/tabs/tabs-events-edit.vue +4 -4
- package/demos/pc/app/tabs/tabs-separator-composition-api.vue +7 -7
- package/demos/pc/app/tabs/tabs-separator.vue +7 -7
- package/demos/pc/app/tabs/tabs-size-composition-api.vue +3 -3
- package/demos/pc/app/tabs/tabs-size.vue +3 -3
- package/demos/pc/app/tabs/tooltip-composition-api.vue +17 -13
- package/demos/pc/app/tabs/tooltip.vue +17 -13
- package/demos/pc/app/tabs/webdoc/tabs.js +35 -35
- package/demos/pc/app/tabs/with-add-composition-api.vue +1 -1
- package/demos/pc/app/tabs/with-add.vue +1 -1
- package/demos/pc/app/tag/{before-delete-composition-api.vue → delete-composition-api.vue} +6 -16
- package/demos/pc/app/tag/delete.spec.ts +19 -0
- package/demos/pc/app/tag/{closable.vue → delete.vue} +22 -5
- package/demos/pc/app/tag/webdoc/tag.js +15 -7
- package/demos/pc/app/time-line/webdoc/time-line.js +12 -12
- package/demos/pc/app/toggle-menu/webdoc/toggle-menu.js +64 -55
- package/demos/pc/app/tooltip/content.spec.js +1 -1
- package/demos/pc/app/tooltip/custom-popper.spec.js +4 -4
- package/demos/pc/app/transfer/basic-usage.spec.ts +7 -20
- package/demos/pc/app/transfer/custom-btns.spec.ts +11 -19
- package/demos/pc/app/transfer/custom-filter.spec.ts +6 -4
- package/demos/pc/app/transfer/custom-footer.spec.ts +1 -2
- package/demos/pc/app/transfer/custom-render.spec.ts +7 -5
- package/demos/pc/app/transfer/custom-titles.spec.ts +5 -3
- package/demos/pc/app/transfer/default-checked.spec.ts +5 -9
- package/demos/pc/app/transfer/drop-config.spec.ts +21 -16
- package/demos/pc/app/transfer/manual-clear-query.spec.ts +2 -2
- package/demos/pc/app/transfer/nested-table.spec.ts +12 -35
- package/demos/pc/app/transfer/nested-tree.spec.ts +3 -30
- package/demos/pc/app/transfer/target-order.spec.ts +2 -1
- package/demos/pc/app/transfer/transfer-events.spec.ts +2 -1
- package/demos/pc/app/tree/basic-usage.spec.ts +26 -16
- package/demos/pc/app/tree/check-op.spec.ts +37 -19
- package/demos/pc/app/tree/checkbox.spec.ts +23 -18
- package/demos/pc/app/tree/contextmenu.spec.ts +9 -8
- package/demos/pc/app/tree/drag.spec.ts +10 -18
- package/demos/pc/app/tree/edit.spec.ts +24 -103
- package/demos/pc/app/tree/expand-control.spec.ts +22 -18
- package/demos/pc/app/tree/filter-view.spec.ts +16 -18
- package/demos/pc/app/tree/icons.spec.ts +20 -18
- package/demos/pc/app/tree/lazy.spec.ts +10 -18
- package/demos/pc/app/tree/node-hl.spec.ts +27 -18
- package/demos/pc/app/tree/node-op-composition-api.vue +12 -6
- package/demos/pc/app/tree/node-op.spec.ts +32 -19
- package/demos/pc/app/tree/other.spec.ts +5 -18
- package/demos/pc/app/tree/props.spec.ts +7 -18
- package/demos/pc/app/tree/radio.spec.ts +10 -18
- package/demos/pc/app/tree/slot.spec.ts +12 -18
- package/demos/pc/app/tree/webdoc/tree.js +2 -2
- package/demos/pc/app/tree-menu/accordion.spec.ts +3 -1
- package/demos/pc/app/tree-menu/basic-usage.spec.ts +4 -2
- package/demos/pc/app/tree-menu/current-node-composition-api.vue +7 -3
- package/demos/pc/app/tree-menu/current-node.spec.ts +20 -13
- package/demos/pc/app/tree-menu/current-node.vue +8 -6
- package/demos/pc/app/tree-menu/custom-icon.spec.ts +12 -2
- package/demos/pc/app/tree-menu/data-resource.spec.ts +33 -21
- package/demos/pc/app/tree-menu/default-expand-all.spec.ts +25 -8
- package/demos/pc/app/tree-menu/default-expanded-keys-highlight.spec.ts +6 -4
- package/demos/pc/app/tree-menu/default-expanded-keys.spec.ts +11 -7
- package/demos/pc/app/tree-menu/draggable.spec.ts +11 -4
- package/demos/pc/app/tree-menu/empty-text.spec.ts +1 -1
- package/demos/pc/app/tree-menu/event-allow-draggable.spec.ts +4 -1
- package/demos/pc/app/tree-menu/events.spec.ts +56 -28
- package/demos/pc/app/tree-menu/expand-on-click-node.spec.ts +32 -3
- package/demos/pc/app/tree-menu/filter-node-method.spec.ts +9 -6
- package/demos/pc/app/tree-menu/filter-node-method.vue +0 -4
- package/demos/pc/app/tree-menu/indent.spec.ts +9 -4
- package/demos/pc/app/tree-menu/lazy-load.spec.ts +8 -4
- package/demos/pc/app/tree-menu/menu-collapsible.spec.ts +5 -2
- package/demos/pc/app/tree-menu/show-checkbox.spec.ts +79 -41
- package/demos/pc/app/tree-menu/text-ellipsis.spec.ts +7 -4
- package/demos/pc/app/tree-menu/tree-menu-slot.spec.ts +4 -3
- package/demos/pc/app/tree-menu/webdoc/tree-menu.cn.md +1 -1
- package/demos/pc/app/tree-menu/webdoc/tree-menu.en.md +1 -1
- package/demos/pc/app/tree-menu/webdoc/tree-menu.js +3 -3
- package/demos/pc/app/user-contact/webdoc/user-contact.js +21 -13
- package/demos/pc/app/user-head/icon-user-head.spec.ts +3 -3
- package/demos/pc/app/user-head/image-user-head.spec.ts +2 -2
- package/demos/pc/app/user-head/webdoc/user-head.js +44 -28
- package/demos/pc/webdoc/changelog.md +1 -0
- package/demos/pc/webdoc/import-components.md +2 -4
- package/demos/pc/webdoc/theme-en.md +8 -4
- package/demos/pc/webdoc/theme.md +10 -3
- package/package.json +6 -6
- package/src/App.vue +0 -2
- package/src/i18n/index.js +3 -3
- package/src/main.js +2 -7
- package/src/menus.jsx +1 -1
- package/src/tools/useApiMode.js +2 -2
- package/src/tools/useBulletin.jsx +2 -2
- package/src/tools/utils.js +2 -2
- package/src/views/components/VersionTip.vue +14 -8
- package/src/views/components/components.vue +48 -47
- package/src/views/components/demo.vue +11 -11
- package/src/views/docs/docs.vue +2 -3
- package/src/views/layout/layout.vue +17 -19
- package/src/views/overview.vue +16 -13
- package/vite.config.ts +10 -4
- package/demos/mobile/app/pull-refresh/disabled.vue +0 -57
- package/demos/mobile/app/pull-refresh/head-height.vue +0 -31
- package/demos/mobile/app/pull-refresh/result-text.vue +0 -46
- package/demos/mobile/app/pull-refresh/success-duration.vue +0 -31
- package/demos/mobile/app/pull-refresh/success-text.vue +0 -27
- package/demos/pc/app/grid/loading/grid-loading-off-tip.spec.js +0 -8
- package/demos/pc/app/tag/before-delete.vue +0 -64
- package/demos/pc/app/tag/closable-composition-api.vue +0 -25
- package/demos/pc/app/tag/closable.spec.ts +0 -14
- /package/demos/pc/app/button/{autofocus.spec.js → autofocus.spec.ts} +0 -0
- /package/demos/pc/app/button/{basic-usage.spec.js → basic-usage.spec.ts} +0 -0
- /package/demos/pc/app/button/{click.spec.js → click.spec.ts} +0 -0
- /package/demos/pc/app/button/{icon.spec.js → icon.spec.ts} +0 -0
- /package/demos/pc/app/button/{image.spec.js → image.spec.ts} +0 -0
- /package/demos/pc/app/button/{loading.spec.js → loading.spec.ts} +0 -0
- /package/demos/pc/app/button/{reset-time.spec.js → reset-time.spec.ts} +0 -0
- /package/demos/pc/app/button/{size.spec.js → size.spec.ts} +0 -0
- /package/demos/pc/app/button/{text.spec.js → text.spec.ts} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<tiny-button @click="init">重试</tiny-button>
|
|
4
4
|
<br /><br />
|
|
5
|
-
<tiny-grid :data="tableData">
|
|
5
|
+
<tiny-grid :data="tableData" :loading-component="loadingComponent()" :loading="loading">
|
|
6
6
|
<tiny-grid-column type="index" width="5%"></tiny-grid-column>
|
|
7
7
|
<tiny-grid-column field="name" title="名称" sortable></tiny-grid-column>
|
|
8
8
|
<tiny-grid-column field="city" title="城市" sortable></tiny-grid-column>
|
|
@@ -17,9 +17,7 @@ import { Grid as TinyGrid, GridColumn as TinyGridColumn, Button as TinyButton }
|
|
|
17
17
|
const tableData = ref([])
|
|
18
18
|
const loading = ref(true)
|
|
19
19
|
|
|
20
|
-
init()
|
|
21
|
-
|
|
22
|
-
function init() {
|
|
20
|
+
const init = () => {
|
|
23
21
|
tableData.value = []
|
|
24
22
|
loading.value = true
|
|
25
23
|
setTimeout(() => {
|
|
@@ -53,4 +51,31 @@ function init() {
|
|
|
53
51
|
loading.value = false
|
|
54
52
|
}, 2000)
|
|
55
53
|
}
|
|
54
|
+
|
|
55
|
+
init()
|
|
56
|
+
|
|
57
|
+
const loadingComponent = () => (
|
|
58
|
+
<div class="custom-loading">
|
|
59
|
+
<span>正在加载中。。。</span>
|
|
60
|
+
</div>
|
|
61
|
+
)
|
|
56
62
|
</script>
|
|
63
|
+
|
|
64
|
+
<style scoped>
|
|
65
|
+
.custom-loading {
|
|
66
|
+
position: absolute;
|
|
67
|
+
font-size: 20px;
|
|
68
|
+
z-index: 999;
|
|
69
|
+
left: 0;
|
|
70
|
+
top: 0;
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: 100%;
|
|
73
|
+
display: flex;
|
|
74
|
+
align-items: center;
|
|
75
|
+
justify-content: center;
|
|
76
|
+
background: rgba(0, 0, 0, 0.3);
|
|
77
|
+
}
|
|
78
|
+
.custom-loading[visible='false'] {
|
|
79
|
+
display: none;
|
|
80
|
+
}
|
|
81
|
+
</style>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { test, expect } from '@playwright/test'
|
|
2
|
+
|
|
3
|
+
test('自定义表格加载', async ({ page }) => {
|
|
4
|
+
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
|
+
await page.goto('grid-loading#loading-grid-custom-loading')
|
|
6
|
+
await expect(page.getByText('正在加载中。。。')).toBeVisible()
|
|
7
|
+
})
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<tiny-button @click="init">重试</tiny-button>
|
|
4
4
|
<br /><br />
|
|
5
|
-
<tiny-grid :data="tableData">
|
|
5
|
+
<tiny-grid :data="tableData" :loading-component="loadingComponent()" :loading="loading">
|
|
6
6
|
<tiny-grid-column type="index" width="5%"></tiny-grid-column>
|
|
7
7
|
<tiny-grid-column field="name" title="名称" sortable></tiny-grid-column>
|
|
8
8
|
<tiny-grid-column field="city" title="城市" sortable></tiny-grid-column>
|
|
@@ -29,6 +29,13 @@ export default {
|
|
|
29
29
|
this.init()
|
|
30
30
|
},
|
|
31
31
|
methods: {
|
|
32
|
+
loadingComponent() {
|
|
33
|
+
return (
|
|
34
|
+
<div class="custom-loading">
|
|
35
|
+
<span>正在加载中。。。</span>
|
|
36
|
+
</div>
|
|
37
|
+
)
|
|
38
|
+
},
|
|
32
39
|
init() {
|
|
33
40
|
this.tableData = []
|
|
34
41
|
this.loading = true
|
|
@@ -66,3 +73,22 @@ export default {
|
|
|
66
73
|
}
|
|
67
74
|
}
|
|
68
75
|
</script>
|
|
76
|
+
|
|
77
|
+
<style scoped>
|
|
78
|
+
.custom-loading {
|
|
79
|
+
position: absolute;
|
|
80
|
+
font-size: 20px;
|
|
81
|
+
z-index: 999;
|
|
82
|
+
left: 0;
|
|
83
|
+
top: 0;
|
|
84
|
+
width: 100%;
|
|
85
|
+
height: 100%;
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
justify-content: center;
|
|
89
|
+
background: rgba(0, 0, 0, 0.3);
|
|
90
|
+
}
|
|
91
|
+
.custom-loading[visible='false'] {
|
|
92
|
+
display: none;
|
|
93
|
+
}
|
|
94
|
+
</style>
|
|
@@ -20,6 +20,10 @@ const toolbarButtons = ref([
|
|
|
20
20
|
{
|
|
21
21
|
code: 'clearRadioRowData',
|
|
22
22
|
name: '手动取消单选行'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
code: 'setRadioRow',
|
|
26
|
+
name: '手动选中某一行'
|
|
23
27
|
}
|
|
24
28
|
])
|
|
25
29
|
const tableData = ref([
|
|
@@ -66,7 +70,7 @@ const tableData = ref([
|
|
|
66
70
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
67
71
|
}
|
|
68
72
|
])
|
|
69
|
-
const gridRef = ref()
|
|
73
|
+
const gridRef = ref('gridRef')
|
|
70
74
|
|
|
71
75
|
function toolbarButtonClickEvent({ code }) {
|
|
72
76
|
switch (code) {
|
|
@@ -20,6 +20,22 @@ const toolbarButtons = ref([
|
|
|
20
20
|
{
|
|
21
21
|
code: 'clearSelection',
|
|
22
22
|
name: '手动取消多选行'
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
code: 'setAllSelection',
|
|
26
|
+
name: '手动选中所有行'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
code: 'setSelection',
|
|
30
|
+
name: '手动选中指定行'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
code: 'toggleAllSelection',
|
|
34
|
+
name: '手动切换所有行选中状态'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
code: 'toggleRowSelection',
|
|
38
|
+
name: '手动切换指定行选中状态'
|
|
23
39
|
}
|
|
24
40
|
])
|
|
25
41
|
const tableData = ref([
|
|
@@ -73,6 +89,22 @@ function toolbarButtonClickEvent({ code, $grid }) {
|
|
|
73
89
|
$grid.clearSelection()
|
|
74
90
|
break
|
|
75
91
|
}
|
|
92
|
+
case 'setAllSelection': {
|
|
93
|
+
$grid.setAllSelection(true)
|
|
94
|
+
break
|
|
95
|
+
}
|
|
96
|
+
case 'setSelection': {
|
|
97
|
+
$grid.setSelection(tableData.value[4], true)
|
|
98
|
+
break
|
|
99
|
+
}
|
|
100
|
+
case 'toggleAllSelection': {
|
|
101
|
+
$grid.toggleAllSelection()
|
|
102
|
+
break
|
|
103
|
+
}
|
|
104
|
+
case 'toggleRowSelection': {
|
|
105
|
+
$grid.toggleRowSelection(tableData.value[1])
|
|
106
|
+
break
|
|
107
|
+
}
|
|
76
108
|
}
|
|
77
109
|
}
|
|
78
110
|
</script>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
+
<p>medium</p>
|
|
2
3
|
<tiny-grid :data="tableData" size="medium">
|
|
3
4
|
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
4
5
|
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
@@ -6,6 +7,22 @@
|
|
|
6
7
|
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
7
8
|
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
8
9
|
</tiny-grid>
|
|
10
|
+
<p>small</p>
|
|
11
|
+
<tiny-grid :data="tableData" size="small">
|
|
12
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
13
|
+
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
14
|
+
<tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
|
|
15
|
+
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
16
|
+
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
17
|
+
</tiny-grid>
|
|
18
|
+
<p>mini</p>
|
|
19
|
+
<tiny-grid :data="tableData" size="mini">
|
|
20
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
21
|
+
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
22
|
+
<tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
|
|
23
|
+
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
24
|
+
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
25
|
+
</tiny-grid>
|
|
9
26
|
</template>
|
|
10
27
|
|
|
11
28
|
<script setup lang="jsx">
|
|
@@ -25,13 +25,15 @@ const tableData = ref([
|
|
|
25
25
|
name: 'GFD科技YX公司',
|
|
26
26
|
area: '华东区',
|
|
27
27
|
address: '福州',
|
|
28
|
+
employees: 423,
|
|
28
29
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
29
30
|
},
|
|
30
31
|
{
|
|
31
32
|
id: '2',
|
|
32
|
-
name: '
|
|
33
|
+
name: 'WWWW科技YX公司',
|
|
33
34
|
area: '华南区',
|
|
34
35
|
address: '深圳福田区',
|
|
36
|
+
employees: 363,
|
|
35
37
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
36
38
|
},
|
|
37
39
|
{
|
|
@@ -39,13 +41,15 @@ const tableData = ref([
|
|
|
39
41
|
name: 'RFV有限责任公司',
|
|
40
42
|
area: '华南区',
|
|
41
43
|
address: '中山市',
|
|
44
|
+
employees: 131,
|
|
42
45
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
43
46
|
},
|
|
44
47
|
{
|
|
45
48
|
id: '4',
|
|
46
|
-
name: '
|
|
47
|
-
area: '
|
|
48
|
-
address: '
|
|
49
|
+
name: 'TGBYX公司',
|
|
50
|
+
area: '华北区',
|
|
51
|
+
address: '梅州',
|
|
52
|
+
employees: 215,
|
|
49
53
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
50
54
|
},
|
|
51
55
|
{
|
|
@@ -53,13 +57,15 @@ const tableData = ref([
|
|
|
53
57
|
name: 'YHN科技YX公司',
|
|
54
58
|
area: '华南区',
|
|
55
59
|
address: '韶关',
|
|
60
|
+
employees: 322,
|
|
56
61
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
57
62
|
},
|
|
58
63
|
{
|
|
59
64
|
id: '6',
|
|
60
|
-
name: '
|
|
61
|
-
area: '
|
|
62
|
-
address: '
|
|
65
|
+
name: '康康物业YX公司',
|
|
66
|
+
area: '华北区',
|
|
67
|
+
address: '广州天河区',
|
|
68
|
+
employees: 168,
|
|
63
69
|
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
64
70
|
}
|
|
65
71
|
])
|
|
@@ -35,7 +35,7 @@ const tableData = ref([
|
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
id: '2',
|
|
38
|
-
name: '
|
|
38
|
+
name: 'BWW科技YX公司',
|
|
39
39
|
city: '深圳',
|
|
40
40
|
employees: 300,
|
|
41
41
|
createdDate: '2016-07-08 12:36:22'
|
|
@@ -58,7 +58,7 @@ const tableData = ref([
|
|
|
58
58
|
id: '5',
|
|
59
59
|
name: 'YHN科技YX公司',
|
|
60
60
|
city: '韶关',
|
|
61
|
-
employees:
|
|
61
|
+
employees: 800,
|
|
62
62
|
createdDate: '2012-12-12 12:12:12'
|
|
63
63
|
},
|
|
64
64
|
{
|
|
@@ -77,7 +77,7 @@ const tableData = ref([
|
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
id: '8',
|
|
80
|
-
name: '
|
|
80
|
+
name: 'SZ网络技术YX公司',
|
|
81
81
|
city: '厦门',
|
|
82
82
|
employees: 540,
|
|
83
83
|
createdDate: '2016-06-03 13:53:25'
|
|
@@ -4,5 +4,8 @@ test('多字段组合排序', async ({ page }) => {
|
|
|
4
4
|
page.on('pageerror', (exception) => expect(exception).toBeNull())
|
|
5
5
|
await page.goto('grid-sort#sort-combinations-sort')
|
|
6
6
|
await page.getByRole('cell', { name: '员工数(员工数和名称组合排序)' }).getByRole('img').click()
|
|
7
|
+
// 员工数第一优先级排序
|
|
7
8
|
await expect(page.locator('.tiny-grid-body__row').first()).toContainText('1300')
|
|
9
|
+
// 公司名称第二优先级排序
|
|
10
|
+
await expect(page.locator('.tiny-grid-body__row').nth(1)).toContainText('YHN科技YX公司')
|
|
8
11
|
})
|
|
@@ -41,7 +41,7 @@ export default {
|
|
|
41
41
|
},
|
|
42
42
|
{
|
|
43
43
|
id: '2',
|
|
44
|
-
name: '
|
|
44
|
+
name: 'BWW科技YX公司',
|
|
45
45
|
city: '深圳',
|
|
46
46
|
employees: 300,
|
|
47
47
|
createdDate: '2016-07-08 12:36:22'
|
|
@@ -64,7 +64,7 @@ export default {
|
|
|
64
64
|
id: '5',
|
|
65
65
|
name: 'YHN科技YX公司',
|
|
66
66
|
city: '韶关',
|
|
67
|
-
employees:
|
|
67
|
+
employees: 800,
|
|
68
68
|
createdDate: '2012-12-12 12:12:12'
|
|
69
69
|
},
|
|
70
70
|
{
|
|
@@ -83,7 +83,7 @@ export default {
|
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
id: '8',
|
|
86
|
-
name: '
|
|
86
|
+
name: 'SZ网络技术YX公司',
|
|
87
87
|
city: '厦门',
|
|
88
88
|
employees: 540,
|
|
89
89
|
createdDate: '2016-06-03 13:53:25'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<tiny-grid ref="
|
|
3
|
+
<tiny-grid ref="insertGrid" :data="tableData">
|
|
4
4
|
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
5
5
|
<tiny-grid-column type="selection" width="60"></tiny-grid-column>
|
|
6
6
|
<tiny-grid-column field="employees" title="员工数"></tiny-grid-column>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<tiny-grid-column field="createdDate" title="创建日期"></tiny-grid-column>
|
|
8
8
|
<tiny-grid-column field="city" title="城市"></tiny-grid-column>
|
|
9
9
|
<tiny-grid-column title="操作" width="100">
|
|
10
|
-
<template
|
|
10
|
+
<template #default="data">
|
|
11
11
|
<div style="text-align: left; font-size: 16px">
|
|
12
12
|
<icon-plus class="tiny-svg-size" @click="$refs.insertGrid.insertAt(record, data.row)"></icon-plus
|
|
13
13
|
>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<tiny-button @click="reLoad">刷新</tiny-button>
|
|
4
|
+
<tiny-grid ref="grid" :fetch-data="fetchData" :pager="pagerConfig" :loading="loading">
|
|
5
|
+
<template #toolbar>
|
|
6
|
+
<tiny-grid-toolbar refresh></tiny-grid-toolbar>
|
|
7
|
+
</template>
|
|
8
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
9
|
+
<tiny-grid-column type="index" width="60"></tiny-grid-column>
|
|
10
|
+
<tiny-grid-column field="name" title="名称"></tiny-grid-column>
|
|
11
|
+
<tiny-grid-column field="area" title="所属区域"></tiny-grid-column>
|
|
12
|
+
<tiny-grid-column field="address" title="地址"></tiny-grid-column>
|
|
13
|
+
<tiny-grid-column field="introduction" title="公司简介" show-overflow></tiny-grid-column>
|
|
14
|
+
</tiny-grid>
|
|
15
|
+
</div>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script setup>
|
|
19
|
+
import { ref } from 'vue'
|
|
20
|
+
import { Pager, Grid as TinyGrid, GridColumn as TinyGridColumn, GridToolbar as TinyGridToolbar } from '@opentiny/vue'
|
|
21
|
+
|
|
22
|
+
const loading = ref(true)
|
|
23
|
+
|
|
24
|
+
const grid = ref('grid')
|
|
25
|
+
|
|
26
|
+
const pagerConfig = {
|
|
27
|
+
component: Pager,
|
|
28
|
+
attrs: {
|
|
29
|
+
currentPage: 1,
|
|
30
|
+
pageSize: 5,
|
|
31
|
+
pageSizes: [5, 10],
|
|
32
|
+
total: 0,
|
|
33
|
+
layout: 'total, prev, pager, next, jumper, sizes'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const tableData = ref([
|
|
38
|
+
{
|
|
39
|
+
id: '1',
|
|
40
|
+
name: 'GFD科技YX公司',
|
|
41
|
+
area: '华东区',
|
|
42
|
+
address: '福州',
|
|
43
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: '2',
|
|
47
|
+
name: 'WWWW科技YX公司',
|
|
48
|
+
area: '华南区',
|
|
49
|
+
address: '深圳福田区',
|
|
50
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
id: '3',
|
|
54
|
+
name: 'RFV有限责任公司',
|
|
55
|
+
area: '华南区',
|
|
56
|
+
address: '中山市',
|
|
57
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: '4',
|
|
61
|
+
name: 'TGBYX公司',
|
|
62
|
+
area: '华北区',
|
|
63
|
+
address: '梅州',
|
|
64
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
id: '5',
|
|
68
|
+
name: 'YHN科技YX公司',
|
|
69
|
+
area: '华南区',
|
|
70
|
+
address: '韶关',
|
|
71
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: '6',
|
|
75
|
+
name: '康康物业YX公司',
|
|
76
|
+
area: '华北区',
|
|
77
|
+
address: '广州天河区',
|
|
78
|
+
introduction: '公司技术和研发实力雄厚,是国家863项目的参与者,并被政府认定为“高新技术企业”。'
|
|
79
|
+
}
|
|
80
|
+
])
|
|
81
|
+
|
|
82
|
+
const getData = ({ page }) => {
|
|
83
|
+
let curPage = page.currentPage
|
|
84
|
+
let pageSize = page.pageSize
|
|
85
|
+
let offset = (curPage - 1) * pageSize
|
|
86
|
+
loading.value = true
|
|
87
|
+
|
|
88
|
+
return new Promise((resolve) => {
|
|
89
|
+
setTimeout(() => {
|
|
90
|
+
resolve({
|
|
91
|
+
result: tableData.value.slice(offset, offset + pageSize),
|
|
92
|
+
page: { total: tableData.value.length }
|
|
93
|
+
})
|
|
94
|
+
loading.value = false
|
|
95
|
+
}, 1000)
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
const fetchData = {
|
|
99
|
+
api: getData
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const reLoad = () => {
|
|
103
|
+
grid.value.handleFetch('reload')
|
|
104
|
+
}
|
|
105
|
+
</script>
|
|
@@ -124,15 +124,15 @@ const tableData = ref([
|
|
|
124
124
|
]
|
|
125
125
|
}
|
|
126
126
|
])
|
|
127
|
-
const
|
|
127
|
+
const grid = ref('grid')
|
|
128
128
|
|
|
129
129
|
const setTreeExpansion = () => {
|
|
130
|
-
|
|
130
|
+
grid.value.setTreeExpansion([tableData.value[1], tableData.value[3]], true)
|
|
131
131
|
}
|
|
132
132
|
const setAllTreeExpansion = () => {
|
|
133
|
-
|
|
133
|
+
grid.value.setAllTreeExpansion(true)
|
|
134
134
|
}
|
|
135
135
|
const toggleTreeExpansion = () => {
|
|
136
|
-
|
|
136
|
+
grid.value.toggleTreeExpansion(tableData.value[1])
|
|
137
137
|
}
|
|
138
138
|
</script>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
|
-
<script setup
|
|
21
|
+
<script setup>
|
|
22
22
|
import { ref } from 'vue'
|
|
23
23
|
import {
|
|
24
24
|
Grid as TinyGrid,
|
|
@@ -57,7 +57,11 @@ const validRules = {
|
|
|
57
57
|
const toolbarButtons = ref([
|
|
58
58
|
{
|
|
59
59
|
code: 'save',
|
|
60
|
-
name: '
|
|
60
|
+
name: '提交数据'
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
code: 'savePromise',
|
|
64
|
+
name: '保存(Promise)'
|
|
61
65
|
}
|
|
62
66
|
])
|
|
63
67
|
const tableData = ref([
|
|
@@ -166,6 +170,19 @@ function toolbarButtonClickEvent({ code }) {
|
|
|
166
170
|
})
|
|
167
171
|
break
|
|
168
172
|
}
|
|
173
|
+
case 'savePromise': {
|
|
174
|
+
basicGridRef.value
|
|
175
|
+
.validate()
|
|
176
|
+
.then(() => {
|
|
177
|
+
TinyModal.alert('校验成功,触发了then!')
|
|
178
|
+
})
|
|
179
|
+
.catch((error) => {
|
|
180
|
+
// eslint-disable-next-line no-console
|
|
181
|
+
console.log(error)
|
|
182
|
+
TinyModal.alert('校验不通过,触发了catch')
|
|
183
|
+
})
|
|
184
|
+
break
|
|
185
|
+
}
|
|
169
186
|
}
|
|
170
187
|
}
|
|
171
188
|
</script>
|
|
@@ -10,7 +10,10 @@ test('提交前校验', async ({ page }) => {
|
|
|
10
10
|
})
|
|
11
11
|
.getByRole('textbox')
|
|
12
12
|
.fill('')
|
|
13
|
-
await page.getByRole('button', { name: '
|
|
14
|
-
|
|
13
|
+
await page.getByRole('button', { name: '提交数据' }).click()
|
|
15
14
|
await expect(page.getByText('校验不通过', { exact: true })).toBeVisible()
|
|
15
|
+
|
|
16
|
+
await page.getByRole('button', { name: '确认' }).click()
|
|
17
|
+
await page.getByRole('button', { name: '保存(Promise)' }).click()
|
|
18
|
+
await expect(page.getByText('校验不通过,触发了catch', { exact: true })).toBeVisible()
|
|
16
19
|
})
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
|
-
<script
|
|
21
|
+
<script>
|
|
22
22
|
import { Grid, GridColumn, GridToolbar, Modal as TinyModal } from '@opentiny/vue'
|
|
23
23
|
|
|
24
24
|
export default {
|
|
@@ -59,7 +59,11 @@ export default {
|
|
|
59
59
|
toolbarButtons: [
|
|
60
60
|
{
|
|
61
61
|
code: 'save',
|
|
62
|
-
name: '
|
|
62
|
+
name: '提交数据'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
code: 'savePromise',
|
|
66
|
+
name: '保存(Promise)'
|
|
63
67
|
}
|
|
64
68
|
],
|
|
65
69
|
tableData: [
|
|
@@ -169,6 +173,19 @@ export default {
|
|
|
169
173
|
})
|
|
170
174
|
break
|
|
171
175
|
}
|
|
176
|
+
case 'savePromise': {
|
|
177
|
+
this.$refs.basicGrid
|
|
178
|
+
.validate()
|
|
179
|
+
.then(() => {
|
|
180
|
+
TinyModal.alert('校验成功,触发了then!')
|
|
181
|
+
})
|
|
182
|
+
.catch((error) => {
|
|
183
|
+
// eslint-disable-next-line no-console
|
|
184
|
+
console.log(error)
|
|
185
|
+
TinyModal.alert('校验不通过,触发了catch')
|
|
186
|
+
})
|
|
187
|
+
break
|
|
188
|
+
}
|
|
172
189
|
}
|
|
173
190
|
}
|
|
174
191
|
}
|
|
@@ -3,19 +3,23 @@ export default {
|
|
|
3
3
|
owner: '',
|
|
4
4
|
demos: [
|
|
5
5
|
{
|
|
6
|
-
'demoId': 'loading-grid-loading
|
|
7
|
-
'name': { 'zh-CN': '
|
|
6
|
+
'demoId': 'loading-grid-custom-loading',
|
|
7
|
+
'name': { 'zh-CN': '自定义表格加载', 'en-US': 'Disable loading status' },
|
|
8
8
|
'desc': {
|
|
9
|
-
'zh-CN':
|
|
9
|
+
'zh-CN':
|
|
10
|
+
'<p>通过表格属性设置 <code>loading</code> 开启或关闭加载状态,默认值为 <code>false</code> 不开启。通过表格属性设置 <code>loadingComponent</code> 可以自定义表格加载中 <code>dom</code> 结构。</p>\n',
|
|
10
11
|
'en-US':
|
|
11
12
|
'<p>Table attribute setting <code>loading</code> Enables or disables loading. The default value is <code>false</code>. </p>\n'
|
|
12
13
|
},
|
|
13
|
-
'codeFiles': ['loading/grid-loading
|
|
14
|
+
'codeFiles': ['loading/grid-custom-loading.vue']
|
|
14
15
|
},
|
|
15
16
|
{
|
|
16
17
|
'demoId': 'loading-grid-loading-tip',
|
|
17
18
|
'name': { 'zh-CN': '开启加载中状态', 'en-US': 'Enable loading status' },
|
|
18
|
-
'desc': {
|
|
19
|
+
'desc': {
|
|
20
|
+
'zh-CN': '通过表格属性设置 <code>loading</code> 开启加载状态。',
|
|
21
|
+
'en-US': 'For details, see the following example.'
|
|
22
|
+
},
|
|
19
23
|
'codeFiles': ['loading/grid-loading-tip.vue']
|
|
20
24
|
}
|
|
21
25
|
],
|
|
@@ -65,9 +65,9 @@ export default {
|
|
|
65
65
|
'name': { 'zh-CN': '开启响应式表格宽高', 'en-US': 'Enable responsive table width and height' },
|
|
66
66
|
'desc': {
|
|
67
67
|
'zh-CN':
|
|
68
|
-
'<p>表格属性设置 autoResize 属性开启响应式表格宽高的同时,将高度<code>
|
|
68
|
+
'<p>表格属性设置 autoResize 属性开启响应式表格宽高的同时,将高度<code>height</code>设置为<code>auto</code>就可以自动跟随父容器高度。tips:在自动高度场景,请确保表格或其父容器被设置了一个固定的高度。</p>\n',
|
|
69
69
|
'en-US':
|
|
70
|
-
'<p>Table property setting autoResize property enabling responsive table width and height, set height <code>
|
|
70
|
+
'<p>Table property setting autoResize property enabling responsive table width and height, set height <code>height</code> to <code>auto</code> to automatically follow the height of the parent container. </p>\n'
|
|
71
71
|
},
|
|
72
72
|
'codeFiles': ['size/auto-height.vue']
|
|
73
73
|
},
|
|
@@ -65,7 +65,7 @@ export default {
|
|
|
65
65
|
'name': { 'zh-CN': '提交前校验', 'en-US': 'Verify Before Submission' },
|
|
66
66
|
'desc': {
|
|
67
67
|
'zh-CN':
|
|
68
|
-
'<p>grid 标签配置 edit-config 对象,并配置 edit-rules 对象来设置校验对象和校验规则,通过按钮点击事件调用 this.$refs.basicGrid.validate()
|
|
68
|
+
'<p>grid 标签配置 edit-config 对象,并配置 edit-rules 对象来设置校验对象和校验规则,通过按钮点击事件调用 this.$refs.basicGrid.validate()方法来触发表格校验,具体参考下面示例。注意:如果传递了 callback 回调就不能正常 catch 到 validate 捕获到的错误。</p>\n',
|
|
69
69
|
'en-US':
|
|
70
70
|
'The <p>grid tag configures the edit-config object, configures the edit-rules object to set the validation object and validation rule, and invokes the this.$refs.basicGrid.validate() method to trigger table validation through the button click event. For details, see the following example. </p>\n'
|
|
71
71
|
},
|
|
@@ -369,7 +369,14 @@ export default {
|
|
|
369
369
|
'type': 'boolean',
|
|
370
370
|
'defaultValue': 'true',
|
|
371
371
|
'desc': { 'zh-CN': '表格是否显示加载中', 'en-US': 'Whether the table is being loaded.' },
|
|
372
|
-
'demoId': 'grid-loading#loading-grid-loading-
|
|
372
|
+
'demoId': 'grid-loading#loading-grid-loading-tip'
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
'name': 'loading-component',
|
|
376
|
+
'type': 'VueComponent',
|
|
377
|
+
'defaultValue': '--',
|
|
378
|
+
'desc': { 'zh-CN': '自定义表格loading', 'en-US': 'Whether the table is being loaded.' },
|
|
379
|
+
'demoId': 'grid-loading#grid-custom-loading'
|
|
373
380
|
},
|
|
374
381
|
{
|
|
375
382
|
'name': 'max-height',
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="demo-guide-callback">
|
|
3
|
-
<p>当前事件回调:{{ label }}</p>
|
|
3
|
+
<p>当前事件回调:{{ label }}{{ label ? '。' : '' }}</p>
|
|
4
4
|
<tiny-button plain class="e1" @click="stepStart">展示前的回调</tiny-button>
|
|
5
5
|
<tiny-button plain class="e2">展示的回调</tiny-button>
|
|
6
6
|
<tiny-button plain class="e3">隐藏前的回调</tiny-button>
|
|
7
|
-
<br
|
|
7
|
+
<br />
|
|
8
8
|
<tiny-button plain class="e4">隐藏的回调</tiny-button>
|
|
9
9
|
<tiny-button plain class="e5">关闭的回调</tiny-button>
|
|
10
10
|
<tiny-button plain class="e6">完成/销毁的回调</tiny-button>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="demo-guide-callback">
|
|
3
|
-
<p>当前事件回调:{{ label }}</p>
|
|
3
|
+
<p>当前事件回调:{{ label }}{{ label ? '。' : '' }}</p>
|
|
4
4
|
<tiny-button plain class="e1" @click="stepStart">展示前的回调</tiny-button>
|
|
5
5
|
<tiny-button plain class="e2">展示的回调</tiny-button>
|
|
6
6
|
<tiny-button plain class="e3">隐藏前的回调</tiny-button>
|
|
7
|
-
<br
|
|
7
|
+
<br />
|
|
8
8
|
<tiny-button plain class="e4">隐藏的回调</tiny-button>
|
|
9
9
|
<tiny-button plain class="e5">关闭的回调</tiny-button>
|
|
10
10
|
<tiny-button plain class="e6">完成/销毁的回调</tiny-button>
|