tmui-cli 5.3.1 → 5.3.2
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/README.md +120 -2
- package/data/components.json +1 -1
- package/data/config.json +1 -1
- package/data/doc-index.json +1 -1
- package/data/docs/upload-photo.md +1 -0
- package/data/docs/upload-video.md +1 -0
- package/data/examples/navbar.vue +3 -3
- package/data/examples/upload-photo.vue +14 -0
- package/data/examples/upload-video.vue +14 -0
- package/data/guides//346/233/264/346/226/260/346/227/245/345/277/227.md +2 -0
- package/data/tmui4x/01./346/225/231/347/250/213/10./345/205/245/351/227/250/346/214/207/345/215/227/12./345/256/211/350/243/205.md +1 -1
- package/data/tmui4x/01./346/225/231/347/250/213/35.Interface/347/261/273/345/236/213.md +5 -0
- package/data/tmui4x/01./346/225/231/347/250/213/50.TMUI4x/350/222/270/346/261/275/350/256/241/345/210/222.md +18 -2
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xChatmarkdownU AI/350/201/212/345/244/251Markdown.md" +13 -1
- package/data/tmui4x/10./346/217/222/344/273/266/345/272/223/xWebviewU /346/267/267/345/220/210WebView.md" +2 -1
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/216/237/347/224/237/345/233/276/350/241/250 Chart.md" +6 -0
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//345/233/276/347/211/207/350/243/201/345/211/252 xImageResizer.md" +1 -1
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//346/200/235/347/273/264/345/257/274/345/233/276 xTreeFlat.md" +1 -1
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/205/266/345/256/203/347/273/204/344/273/266//351/242/234/350/211/262/351/200/211/346/213/251 xColorView.md" +2 -2
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/274/225/345/257/274 xGuid.md" +31 -10
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//345/274/225/345/257/274/345/255/220/347/273/204/344/273/266 xGuidItem.md" +26 -5
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/257/274/350/210/252/347/273/204/344/273/266//347/264/242/345/274/225 xIndexbar.md" +46 -4
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266/markdown xCmarkdown.md" +9 -2
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254 xHtml.md" +186 -0
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254/345/255/220/347/273/204/344/273/266 xHtmlNode.md" +183 -0
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/241/250/346/240/274 xTable.md" +10 -1
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//350/241/250/346/240/274/345/210/227 xTableCol.md" +8 -0
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/270/270/347/224/250/347/273/204/344/273/266//345/223/215/345/272/224/345/274/217/345/270/203/345/261/200 xLayout.md" +330 -0
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/233/276/347/211/207/344/270/212/344/274/240 xUploadMedia.md" +51 -4
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/244/232/351/200/211/346/227/245/345/216/206 xCalendarMultiple.md" +2 -7
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254/347/274/226/350/276/221/345/231/250 xEditor.md" +4 -4
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//345/265/214/345/205/245/345/274/217/346/227/245/346/234/237/351/200/211/346/213/251/345/231/250 xDateView.md" +27 -0
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/245/345/216/206 xCalendar.md" +6 -8
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//346/227/245/346/234/237/351/200/211/346/213/251/345/231/250 xPickerDate.md" +27 -1
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/241/250/345/215/225 xForm.md" +36 -28
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//350/241/250/345/215/225/347/273/204/344/273/266//350/241/250/345/215/225/345/255/220/347/273/204/344/273/266 xFormItem.md" +35 -28
- package/data/tmui4x/60.AI/350/207/252/345/212/250/345/214/226/06.tokens/350/207/252/347/224/261.md +47 -0
- package/data/tmui4x-doc-index.json +47 -10
- package/data/uni-app-x-docs/.vuepress/utils/cssJson.json +1 -1
- package/data/uni-app-x-docs/.vuepress/utils/customTypeJson.json +1 -1
- package/data/uni-app-x-docs/.vuepress/utils/maniFestJson.json +1 -1
- package/data/uni-app-x-docs/.vuepress/utils/utsApiJson.json +1 -1
- package/data/uni-app-x-docs/.vuepress/utils/utsComJson.json +1 -1
- package/data/uni-app-x-docs/.vuepress/utils/utsUnicloudApiJson.json +1 -1
- package/data/uni-app-x-docs/.vuepress/utils/vueJson.json +1 -1
- package/data/uni-app-x-docs/_sidebar.md +2 -1
- package/data/uni-app-x-docs/api/_sidebar.md +3 -0
- package/data/uni-app-x-docs/api/convert2-abs-full-path.md +33 -0
- package/data/uni-app-x-docs/api/create-drama-ad.md +24 -15
- package/data/uni-app-x-docs/api/create-selector-query.md +2 -2
- package/data/uni-app-x-docs/api/create-worker.md +10 -11
- package/data/uni-app-x-docs/api/dialog-page.md +4 -0
- package/data/uni-app-x-docs/api/dom/README.md +1 -1
- package/data/uni-app-x-docs/api/dom/cssstyledeclaration.md +10 -55
- package/data/uni-app-x-docs/api/dom/unielement.md +2 -1
- package/data/uni-app-x-docs/api/dom/uniresizeobserver.md +4 -47
- package/data/uni-app-x-docs/api/event-bus.md +1 -1
- package/data/uni-app-x-docs/api/get-recorder-manager.md +5 -5
- package/data/uni-app-x-docs/api/install-wgt.md +10 -11
- package/data/uni-app-x-docs/api/screen-brightness.md +6 -0
- package/data/uni-app-x-docs/api/theme-change.md +1 -1
- package/data/uni-app-x-docs/api/unicloud/README.md +41 -0
- package/data/uni-app-x-docs/api/unicloud/function.md +1 -1
- package/data/uni-app-x-docs/api/unicloud/object.md +1 -1
- package/data/uni-app-x-docs/api/uniresizeobserver.md +50 -0
- package/data/uni-app-x-docs/app-vapor.md +9 -2
- package/data/uni-app-x-docs/collocation/app.md +2 -2
- package/data/uni-app-x-docs/collocation/manifest-android.md +15 -1
- package/data/uni-app-x-docs/compiler/README.md +1 -1
- package/data/uni-app-x-docs/component/_sidebar.md +4 -1
- package/data/uni-app-x-docs/component/ad-drama.md +8 -13
- package/data/uni-app-x-docs/component/button.md +1 -1
- package/data/uni-app-x-docs/component/icon.md +2 -0
- package/data/uni-app-x-docs/component/image.md +4 -2
- package/data/uni-app-x-docs/component/swiper.md +5 -1
- package/data/uni-app-x-docs/component/text.md +6 -6
- package/data/uni-app-x-docs/component/uni-ui-x/uni-collapse.md +1 -1
- package/data/uni-app-x-docs/component/uni-ui-x/uni-combox.md +4 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-icons.md +25 -0
- package/data/uni-app-x-docs/component/uni-ui-x/uni-link.md +1 -1
- package/data/uni-app-x-docs/component/uni-ui-x/uni-nav-bar.md +1 -1
- package/data/uni-app-x-docs/component/uni-ui-x/uni-number-box.md +1 -1
- package/data/uni-app-x-docs/component/uni-ui-x/uni-rate.md +1 -1
- package/data/uni-app-x-docs/component/video.md +2 -2
- package/data/uni-app-x-docs/component/view.md +2 -1
- package/data/uni-app-x-docs/css/common/at-rules.md +8 -2
- package/data/uni-app-x-docs/css/common/selector.md +3 -3
- package/data/uni-app-x-docs/css/common/style-isolation.md +3 -3
- package/data/uni-app-x-docs/css/visibility.md +8 -3
- package/data/uni-app-x-docs/i18n.md +30 -30
- package/data/uni-app-x-docs/mp/README.md +21 -0
- package/data/uni-app-x-docs/mp/native-component-and-wxs.md +1 -1
- package/data/uni-app-x-docs/native/download/android.md +18 -63
- package/data/uni-app-x-docs/native/download/ios.md +5 -5
- package/data/uni-app-x-docs/native/use/android.md +4 -2
- package/data/uni-app-x-docs/native/use/androidcomm.md +154 -40
- package/data/uni-app-x-docs/readme.md +51 -28
- package/data/uni-app-x-docs/sample.md +57 -14
- package/data/uni-app-x-docs/select/crossplatform-on-ai.md +475 -0
- package/data/uni-app-x-docs/select/native-render-and-self-render.md +4 -4
- package/data/uni-app-x-docs/tutorial/compliance.md +6 -6
- package/data/uni-app-x-docs/tutorial/debug/devtools.md +16 -6
- package/data/uni-app-x-docs/tutorial/store.md +1 -1
- package/data/uni-app-x-docs/uniapptox.md +49 -18
- package/data/uni-app-x-docs/uniappvsuniappx.md +160 -38
- package/data/uni-app-x-docs/uts/buildin-object-api/array.md +0 -296
- package/data/uni-app-x-docs/uts/uts2js.md +1 -1
- package/data/uni-app-x-docs/vue/README.md +20 -12
- package/data/uni-app-x-docs/vue/built-in.md +64 -37
- package/data/uni-app-x-docs/vue/component.md +3 -1
- package/data/uni-app-x-docs/vue/composition-api.md +1 -1
- package/data/uni-app-x-docs/web/ssr.md +22 -86
- package/data/uniappx/_sidebar.md +2 -1
- package/data/uniappx/api/_sidebar.md +3 -0
- package/data/uniappx/api/accelerometer.md +96 -96
- package/data/uniappx/api/action-sheet.md +4 -4
- package/data/uniappx/api/app-route.md +20 -0
- package/data/uniappx/api/authentication.md +6 -6
- package/data/uniappx/api/base64.md +4 -4
- package/data/uniappx/api/choose-file.md +2 -2
- package/data/uniappx/api/choose-image.md +2 -2
- package/data/uniappx/api/choose-location.md +2 -2
- package/data/uniappx/api/choose-media.md +2 -2
- package/data/uniappx/api/choose-video.md +2 -2
- package/data/uniappx/api/clipboard.md +4 -4
- package/data/uniappx/api/compass.md +94 -94
- package/data/uniappx/api/connect-event-source.md +2 -2
- package/data/uniappx/api/contact.md +62 -62
- package/data/uniappx/api/convert2-abs-full-path.md +57 -0
- package/data/uniappx/api/create-camera-context.md +2 -2
- package/data/uniappx/api/create-canvas-context-async.md +2 -2
- package/data/uniappx/api/create-drama-ad.md +533 -343
- package/data/uniappx/api/create-editor-context-async.md +2 -2
- package/data/uniappx/api/create-inner-audio-context.md +4 -4
- package/data/uniappx/api/create-request-permission-listener.md +2 -2
- package/data/uniappx/api/create-selector-query.md +2 -2
- package/data/uniappx/api/create-video-context.md +2 -2
- package/data/uniappx/api/create-webview-context.md +4 -4
- package/data/uniappx/api/create-worker.md +11 -11
- package/data/uniappx/api/dialog-page.md +8 -4
- package/data/uniappx/api/dom/cssstyledeclaration.md +1 -46
- package/data/uniappx/api/dom/unielement.md +2 -1
- package/data/uniappx/api/dom/uniresizeobserver.md +2 -19
- package/data/uniappx/api/download-file.md +2 -2
- package/data/uniappx/api/event-bus.md +9 -9
- package/data/uniappx/api/exit.md +2 -2
- package/data/uniappx/api/get-accessibility-info.md +2 -2
- package/data/uniappx/api/get-app-authorize-setting.md +2 -2
- package/data/uniappx/api/get-app-base-info.md +3 -2
- package/data/uniappx/api/get-background-audio-manager.md +2 -2
- package/data/uniappx/api/get-device-info.md +2 -2
- package/data/uniappx/api/get-element-by-id.md +2 -2
- package/data/uniappx/api/get-file-system-manager.md +4 -4
- package/data/uniappx/api/get-location.md +2 -2
- package/data/uniappx/api/get-network-type.md +2 -2
- package/data/uniappx/api/get-recorder-manager.md +28 -28
- package/data/uniappx/api/get-system-info.md +4 -4
- package/data/uniappx/api/get-system-setting.md +2 -2
- package/data/uniappx/api/get-window-info.md +2 -2
- package/data/uniappx/api/gyroscope.md +68 -68
- package/data/uniappx/api/install-apk.md +2 -2
- package/data/uniappx/api/install-wgt.md +26 -53
- package/data/uniappx/api/is-simulator.md +2 -2
- package/data/uniappx/api/keyboard.md +6 -6
- package/data/uniappx/api/launch.md +4 -4
- package/data/uniappx/api/load-font-face.md +2 -2
- package/data/uniappx/api/loading.md +4 -4
- package/data/uniappx/api/make-phone-call.md +2 -2
- package/data/uniappx/api/memory.md +6 -6
- package/data/uniappx/api/modal.md +4 -4
- package/data/uniappx/api/navigator-bar-loading.md +4 -4
- package/data/uniappx/api/network-status-change.md +4 -4
- package/data/uniappx/api/on-tab-bar-mid-button-tap.md +2 -2
- package/data/uniappx/api/open-app-authorize-setting.md +2 -2
- package/data/uniappx/api/open-document.md +2 -2
- package/data/uniappx/api/page-scroll-to.md +2 -2
- package/data/uniappx/api/privacy.md +8 -8
- package/data/uniappx/api/provider.md +4 -4
- package/data/uniappx/api/pull-down-refresh.md +4 -4
- package/data/uniappx/api/report.md +1 -1
- package/data/uniappx/api/request-merchant-transfer.md +2 -2
- package/data/uniappx/api/request-payment.md +2 -2
- package/data/uniappx/api/request-system-permission.md +4 -0
- package/data/uniappx/api/request.md +2 -2
- package/data/uniappx/api/rpx2px.md +2 -2
- package/data/uniappx/api/save-image-to-photos-album.md +2 -2
- package/data/uniappx/api/scan-code.md +2 -2
- package/data/uniappx/api/screen-brightness.md +49 -43
- package/data/uniappx/api/set-navigation-bar-color.md +2 -2
- package/data/uniappx/api/set-navigation-bar-title.md +2 -2
- package/data/uniappx/api/set-tab-bar.md +16 -16
- package/data/uniappx/api/share-with-system.md +2 -2
- package/data/uniappx/api/share.md +2 -2
- package/data/uniappx/api/storage.md +20 -20
- package/data/uniappx/api/theme-change.md +18 -18
- package/data/uniappx/api/toast.md +20 -13
- package/data/uniappx/api/uasm.md +8 -0
- package/data/uniappx/api/unicloud/README.md +151 -3
- package/data/uniappx/api/unicloud/database.md +6 -6
- package/data/uniappx/api/unicloud/function.md +5 -5
- package/data/uniappx/api/unicloud/object.md +5 -5
- package/data/uniappx/api/unicloud/storage.md +9 -9
- package/data/uniappx/api/unicloud/utils.md +18 -18
- package/data/uniappx/api/uniresizeobserver.md +108 -0
- package/data/uniappx/api/upload-file.md +2 -2
- package/data/uniappx/api/vibrate.md +30 -30
- package/data/uniappx/api/virtual-payment.md +2 -2
- package/data/uniappx/api/websocket.md +14 -14
- package/data/uniappx/app-vapor.md +9 -2
- package/data/uniappx/collocation/manifest-android.md +15 -1
- package/data/uniappx/collocation/manifest.md +1 -0
- package/data/uniappx/component/_sidebar.md +4 -1
- package/data/uniappx/component/ad-drama.md +18 -50
- package/data/uniappx/component/animation-view.md +2 -2
- package/data/uniappx/component/button.md +5 -1
- package/data/uniappx/component/camera.md +2 -2
- package/data/uniappx/component/canvas.md +3 -3
- package/data/uniappx/component/checkbox-group.md +4 -0
- package/data/uniappx/component/checkbox.md +5 -1
- package/data/uniappx/component/common.md +2 -2
- package/data/uniappx/component/editor.md +4 -0
- package/data/uniappx/component/form.md +2 -2
- package/data/uniappx/component/icon.md +2 -0
- package/data/uniappx/component/image.md +7 -2
- package/data/uniappx/component/input.md +2 -2
- package/data/uniappx/component/label.md +4 -0
- package/data/uniappx/component/list-view.md +6 -4
- package/data/uniappx/component/loading.md +4 -4
- package/data/uniappx/component/match-media.md +2 -2
- package/data/uniappx/component/movable-view.md +2 -2
- package/data/uniappx/component/navigation-bar.md +17 -17
- package/data/uniappx/component/navigator.md +12 -12
- package/data/uniappx/component/page-container.md +4 -0
- package/data/uniappx/component/picker-view.md +8 -0
- package/data/uniappx/component/picker.md +16 -16
- package/data/uniappx/component/progress.md +2 -2
- package/data/uniappx/component/radio-group.md +4 -0
- package/data/uniappx/component/radio.md +4 -0
- package/data/uniappx/component/rich-text.md +2 -2
- package/data/uniappx/component/scroll-view.md +5 -5
- package/data/uniappx/component/slider.md +23 -17
- package/data/uniappx/component/sticky-header.md +4 -0
- package/data/uniappx/component/sticky-section.md +4 -0
- package/data/uniappx/component/swiper.md +6 -2
- package/data/uniappx/component/switch.md +4 -0
- package/data/uniappx/component/text.md +8 -8
- package/data/uniappx/component/textarea.md +2 -2
- package/data/uniappx/component/uni-ui-x/README.md +3 -2
- package/data/uniappx/component/uni-ui-x/uni-badge-view.md +4 -0
- package/data/uniappx/component/uni-ui-x/uni-collapse.md +1 -1
- package/data/uniappx/component/uni-ui-x/uni-combox.md +39 -15
- package/data/uniappx/component/uni-ui-x/uni-icons.md +376 -0
- package/data/uniappx/component/uni-ui-x/uni-link.md +1 -1
- package/data/uniappx/component/uni-ui-x/uni-nav-bar.md +1 -1
- package/data/uniappx/component/uni-ui-x/uni-number-box.md +1 -1
- package/data/uniappx/component/uni-ui-x/uni-rate.md +5 -1
- package/data/uniappx/component/uni-ui-x/uni-tab.md +4 -0
- package/data/uniappx/component/unicloud-db.md +5 -5
- package/data/uniappx/component/video.md +3 -3
- package/data/uniappx/component/view.md +2 -0
- package/data/uniappx/component/waterflow.md +8 -2
- package/data/uniappx/component/web-view.md +2 -2
- package/data/uniappx/css/common/at-rules.md +13 -7
- package/data/uniappx/css/common/color.md +9 -9
- package/data/uniappx/css/common/function.md +2 -0
- package/data/uniappx/css/common/length.md +89 -89
- package/data/uniappx/css/common/selector.md +3 -3
- package/data/uniappx/css/visibility.md +8 -3
- package/data/uniappx/i18n.md +29 -29
- package/data/uniappx/mp/README.md +21 -0
- package/data/uniappx/native/download/android.md +14 -60
- package/data/uniappx/native/download/ios.md +5 -5
- package/data/uniappx/native/use/android.md +4 -2
- package/data/uniappx/native/use/androidcomm.md +130 -4
- package/data/uniappx/readme.md +51 -28
- package/data/uniappx/sample.md +57 -14
- package/data/uniappx/select/crossplatform-on-ai.md +470 -0
- package/data/uniappx/select/native-render-and-self-render.md +4 -4
- package/data/uniappx/tutorial/compliance.md +1 -1
- package/data/uniappx/tutorial/debug/devtools.md +16 -6
- package/data/uniappx/uniapptox.md +49 -18
- package/data/uniappx/uniappvsuniappx.md +157 -38
- package/data/uniappx/uts/buildin-object-api/array.md +0 -371
- package/data/uniappx/uts/uts2js.md +1 -1
- package/data/uniappx/vue/README.md +7 -2
- package/data/uniappx/vue/built-in.md +20 -6
- package/data/uniappx/vue/component.md +2 -0
- package/data/uniappx/vue/modifier.md +6 -6
- package/data/uniappx/web/ssr.md +17 -58
- package/data/uniappx-doc-index.json +99 -687
- package/dist/main.mjs +113 -87
- package/package.json +2 -2
- package/data/tmui4x/30./347/273/204/344/273/266/345/272/223//345/261/225/347/244/272/347/273/204/344/273/266//345/257/214/346/226/207/346/234/254 xMarkdown.md" +0 -211
- package/data/uni-app-x-docs/alert.md +0 -79
- package/data/uni-app-x-docs/avatar-group.md +0 -73
- package/data/uni-app-x-docs/badge.md +0 -62
- package/data/uni-app-x-docs/between-time.md +0 -76
- package/data/uni-app-x-docs/button.md +0 -114
- package/data/uni-app-x-docs/calendar-multiple.md +0 -90
- package/data/uni-app-x-docs/cell.md +0 -91
- package/data/uni-app-x-docs/checkbox-group.md +0 -62
- package/data/uni-app-x-docs/checkbox.md +0 -74
- package/data/uni-app-x-docs/circle-progress.md +0 -74
- package/data/uni-app-x-docs/code-input.md +0 -77
- package/data/uni-app-x-docs/col.md +0 -57
- package/data/uni-app-x-docs/collapse-item.md +0 -76
- package/data/uni-app-x-docs/collapse.md +0 -59
- package/data/uni-app-x-docs/countdown.md +0 -79
- package/data/uni-app-x-docs/date-view.md +0 -65
- package/data/uni-app-x-docs/drawer.md +0 -94
- package/data/uni-app-x-docs/dropdown-item.md +0 -68
- package/data/uni-app-x-docs/dropdown-menu.md +0 -70
- package/data/uni-app-x-docs/echart.md +0 -69
- package/data/uni-app-x-docs/float-drawer.md +0 -79
- package/data/uni-app-x-docs/form-item.md +0 -67
- package/data/uni-app-x-docs/form.md +0 -68
- package/data/uni-app-x-docs/html.md +0 -70
- package/data/uni-app-x-docs/icon.md +0 -67
- package/data/uni-app-x-docs/image.md +0 -74
- package/data/uni-app-x-docs/input.md +0 -126
- package/data/uni-app-x-docs/modal.md +0 -92
- package/data/uni-app-x-docs/money.md +0 -70
- package/data/uni-app-x-docs/more.md +0 -69
- package/data/uni-app-x-docs/navbar.md +0 -82
- package/data/uni-app-x-docs/picker-date.md +0 -75
- package/data/uni-app-x-docs/picker-selected.md +0 -75
- package/data/uni-app-x-docs/picker-time.md +0 -77
- package/data/uni-app-x-docs/picker-view.md +0 -70
- package/data/uni-app-x-docs/picker.md +0 -76
- package/data/uni-app-x-docs/popover.md +0 -68
- package/data/uni-app-x-docs/progress.md +0 -72
- package/data/uni-app-x-docs/pull-refresh.md +0 -73
- package/data/uni-app-x-docs/radio-group.md +0 -61
- package/data/uni-app-x-docs/radio.md +0 -74
- package/data/uni-app-x-docs/rate.md +0 -72
- package/data/uni-app-x-docs/row.md +0 -61
- package/data/uni-app-x-docs/sheet.md +0 -72
- package/data/uni-app-x-docs/sign-board.md +0 -61
- package/data/uni-app-x-docs/skeleton.md +0 -60
- package/data/uni-app-x-docs/sku.md +0 -69
- package/data/uni-app-x-docs/slider-double.md +0 -71
- package/data/uni-app-x-docs/slider-menu.md +0 -78
- package/data/uni-app-x-docs/slider.md +0 -71
- package/data/uni-app-x-docs/stepper.md +0 -76
- package/data/uni-app-x-docs/steps-item.md +0 -71
- package/data/uni-app-x-docs/steps.md +0 -73
- package/data/uni-app-x-docs/sticky-header.md +0 -57
- package/data/uni-app-x-docs/sticky.md +0 -55
- package/data/uni-app-x-docs/switch-slider.md +0 -82
- package/data/uni-app-x-docs/switch.md +0 -68
- package/data/uni-app-x-docs/tabbar.md +0 -83
- package/data/uni-app-x-docs/tabs.md +0 -84
- package/data/uni-app-x-docs/tag.md +0 -78
- package/data/uni-app-x-docs/text.md +0 -69
- package/data/uni-app-x-docs/upload-photo.md +0 -86
- package/data/uni-app-x-docs/upload-video.md +0 -86
- package/data/uni-app-x-docs//346/250/241/346/235/277.md +0 -47
- package/data/uniappx/alert.md +0 -61
- package/data/uniappx/avatar-group.md +0 -55
- package/data/uniappx/badge.md +0 -44
- package/data/uniappx/between-time.md +0 -58
- package/data/uniappx/button.md +0 -96
- package/data/uniappx/calendar-multiple.md +0 -72
- package/data/uniappx/cell.md +0 -73
- package/data/uniappx/checkbox-group.md +0 -44
- package/data/uniappx/checkbox.md +0 -56
- package/data/uniappx/circle-progress.md +0 -56
- package/data/uniappx/code-input.md +0 -59
- package/data/uniappx/col.md +0 -39
- package/data/uniappx/collapse-item.md +0 -58
- package/data/uniappx/collapse.md +0 -41
- package/data/uniappx/countdown.md +0 -61
- package/data/uniappx/date-view.md +0 -47
- package/data/uniappx/drawer.md +0 -76
- package/data/uniappx/dropdown-item.md +0 -50
- package/data/uniappx/dropdown-menu.md +0 -52
- package/data/uniappx/echart.md +0 -51
- package/data/uniappx/float-drawer.md +0 -61
- package/data/uniappx/form-item.md +0 -49
- package/data/uniappx/form.md +0 -50
- package/data/uniappx/html.md +0 -52
- package/data/uniappx/icon.md +0 -49
- package/data/uniappx/image.md +0 -56
- package/data/uniappx/input.md +0 -108
- package/data/uniappx/modal.md +0 -74
- package/data/uniappx/money.md +0 -52
- package/data/uniappx/more.md +0 -51
- package/data/uniappx/navbar.md +0 -64
- package/data/uniappx/picker-date.md +0 -57
- package/data/uniappx/picker-selected.md +0 -57
- package/data/uniappx/picker-time.md +0 -59
- package/data/uniappx/picker-view.md +0 -52
- package/data/uniappx/picker.md +0 -58
- package/data/uniappx/popover.md +0 -50
- package/data/uniappx/progress.md +0 -54
- package/data/uniappx/pull-refresh.md +0 -55
- package/data/uniappx/radio-group.md +0 -43
- package/data/uniappx/radio.md +0 -56
- package/data/uniappx/rate.md +0 -54
- package/data/uniappx/row.md +0 -43
- package/data/uniappx/sheet.md +0 -54
- package/data/uniappx/sign-board.md +0 -43
- package/data/uniappx/skeleton.md +0 -42
- package/data/uniappx/sku.md +0 -51
- package/data/uniappx/slider-double.md +0 -53
- package/data/uniappx/slider-menu.md +0 -60
- package/data/uniappx/slider.md +0 -53
- package/data/uniappx/stepper.md +0 -58
- package/data/uniappx/steps-item.md +0 -53
- package/data/uniappx/steps.md +0 -55
- package/data/uniappx/sticky-header.md +0 -39
- package/data/uniappx/sticky.md +0 -37
- package/data/uniappx/switch-slider.md +0 -64
- package/data/uniappx/switch.md +0 -50
- package/data/uniappx/tabbar.md +0 -65
- package/data/uniappx/tabs.md +0 -66
- package/data/uniappx/tag.md +0 -60
- package/data/uniappx/text.md +0 -51
- package/data/uniappx/upload-photo.md +0 -68
- package/data/uniappx/upload-video.md +0 -68
- package/data/uniappx//346/250/241/346/235/277.md +0 -34
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
# 响应式布局 xLayout
|
|
2
|
+
|
|
3
|
+
## 介绍
|
|
4
|
+
|
|
5
|
+
断点容器,两种用法:
|
|
6
|
+
split(默认):窄屏只有主内容(整屏),宽屏多出一个 #side 区,「列表 + 详情」「侧栏 + 主区」不用跳页面、不用把内容写两份。
|
|
7
|
+
screen:窄屏、宽屏各一套整屏内容(#narrow 窄屏专属、默认槽宽屏专属),宽屏一般再配 #side 做左/右栏。
|
|
8
|
+
显示判断全交给官方 match-media(宽屏区 = min-width: wide),组件不读窗口尺寸决定显示;跨断点时触发 change 事件,业务拿它同步状态。
|
|
9
|
+
|
|
10
|
+
## 平台兼容
|
|
11
|
+
|
|
12
|
+
| Harmony | H5 | andriod | IOS | 小程序 | UTS | UNIAPP-X SDK | version |
|
|
13
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
14
|
+
| ☑ | ☑ | ☑️ | ☑️ | ☑️ | ☑️ | 4.76+ | 1.9.9 |
|
|
15
|
+
|
|
16
|
+
## 文件路径
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
@/uni_modules/tmx-ui/components/x-layout/x-layout.uvue
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## 使用
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
<x-layout></x-layout>
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Props 属性
|
|
29
|
+
|
|
30
|
+
| 名称 | 说明 | 类型 | 默认值 |
|
|
31
|
+
| ------ | ---- | ---- | ---- |
|
|
32
|
+
| mode | `布局模式。`<br>`- split(默认):#side 区宽屏才出现,默认槽常驻(窄屏就是它的整屏),适合「列表 + 详情」这类加一栏。`<br>`- screen:窄屏 / 宽屏两套整屏内容二选一 —— #narrow 只在窄屏显示,默认槽只在宽屏显示,`<br>` 宽屏一般再配 #side 做左/右栏,适合「手机竖屏一套、宽屏换一套」。`<br> | `xLayoutMode` | `'split'` |
|
|
33
|
+
| wide | `宽屏断点,单位固定 px。窗口宽度 >= 该值算宽屏,宽屏才显示 #side 区。`<br>`默认 640:手机横屏就跨过(最窄的常见横屏是 iPhone SE 的 667),平板竖屏 768 也算宽屏。`<br>`取 700 会踩坑——iPhone SE / 8 横屏只有 667,会一直停在窄屏。`<br> | `number` | `640` |
|
|
34
|
+
| side | `#side 区排在主内容前面还是后面。end(默认):主内容在左、侧栏/详情在右;`<br>`start:侧栏在左,适合「导航 + 内容」。`<br> | `xLayoutSide` | `'end'` |
|
|
35
|
+
| sideWidth | `#side 区宽度:px/rpx/% 都行,也支持 "calc(100% - 320px)" 这类表达式。空值按内容宽。`<br> | `union` | `''` |
|
|
36
|
+
| space | `#side 区和主内容之间的间距。写在 #side 区自己身上,窄屏 #side 区不显示时不会凭空多出一段空隙。`<br>`页面上没写 #side 插槽时不需要设置。`<br> | `union` | `0` |
|
|
37
|
+
| direction | `主内容内部的排列方向,默认 column(业务内容基本都是纵向堆叠)。内容要横排就写 row。`<br> | `xLayoutDirection` | `'column'` |
|
|
38
|
+
| fill | `是否撑满父级剩余高度,左右分栏时两栏都会拉满。`<br>`父级必须有确定高度(写死 `height` 或带最小高的页面根节点);内容比父级高时 App 端会被`<br>``overflow: hidden` 裁掉(uvue 的 `min-height` 默认 `0px`,没有 Web 的 auto 下限),别拿它兜页面高度。`<br> | `boolean` | `false` |
|
|
39
|
+
| padding | `内边距 [全部],[左右,上下],[左,上,右],[左,上,右,下],可传 string/number 自动转为数组`<br> | `union` | `''` |
|
|
40
|
+
| round | `圆角 [全部],[左,右],[左,上,右],[左,上,右,下],可传 string/number 自动转为数组`<br> | `union` | `''` |
|
|
41
|
+
| bgColor | `背景色。`<br> | `string` | `'transparent'` |
|
|
42
|
+
| darkBgColor | `暗黑时的背景色,空值按亮色背景自动加深。`<br> | `string` | `''` |
|
|
43
|
+
| customStyle | `追加到根节点的样式,写在最后,可覆盖 bgColor / round / padding / fill。`<br>`页面背景要铺到窗口底(渐变 + flex:1)、或给整块留边距时用它。`<br> | `string` | `''` |
|
|
44
|
+
| customContentStyle | `追加到主内容区(默认槽那一侧)的样式。`<br> | `string` | `''` |
|
|
45
|
+
| customSideStyle | `追加到 #side 区(宽屏那一栏)的样式,和 sideWidth / space 作用在同一层。`<br> | `string` | `''` |
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
## Events 事件
|
|
49
|
+
|
|
50
|
+
| 名称 | 参数 | 说明 |
|
|
51
|
+
| ------ | ---- | ---- |
|
|
52
|
+
| change | `wide: boolean<br>` | 跨过断点时触发(窄屏 <-> 宽屏)。挂载后会先按当前断点触发一次,父组件用它拿初始状态;<br>之后只在真正跨断点时触发,同一断点内反复改窗口尺寸不会重复触发。 |
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Slots 插槽
|
|
56
|
+
|
|
57
|
+
| 名称 | 说明 | 数据 |
|
|
58
|
+
| ------ | ---- | ---- |
|
|
59
|
+
| narrow | `窄屏内容(mode="screen"),只写一份,宽屏时不渲染` | - |
|
|
60
|
+
| side | `宽屏专属区,窗口宽度 >= wide 才显示;默认排在主内容右侧,side="start" 则排在左侧` | - |
|
|
61
|
+
| default | `主内容。split 模式下所有断点都显示;screen 模式下只在宽屏显示` | - |
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Ref 方法
|
|
65
|
+
|
|
66
|
+
| 名称 | 参数 | 返回值 | 说明 |
|
|
67
|
+
| ------ | ---- | ---- | ---- |
|
|
68
|
+
| - | - | - | - |
|
|
69
|
+
|
|
70
|
+
## 示例文件路径
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
/pages/chongyong/layout
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 示例源码
|
|
77
|
+
|
|
78
|
+
```vue
|
|
79
|
+
<template>
|
|
80
|
+
<!-- #ifdef MP-WEIXIN -->
|
|
81
|
+
<page-meta :page-style="`background-color:${xThemeConfigBgColor}`">
|
|
82
|
+
<navigation-bar :background-color="xThemeConfigNavBgColor"
|
|
83
|
+
:front-color="xThemeConfigNavFontColor"></navigation-bar>
|
|
84
|
+
</page-meta>
|
|
85
|
+
<!-- #endif -->
|
|
86
|
+
|
|
87
|
+
<x-sheet>
|
|
88
|
+
<x-text font-size="18" class="text-weight-b mb-8">响应式布局 xLayout</x-text>
|
|
89
|
+
<x-text color="#999999">窄屏整屏,宽屏自动多出一栏(断点 {{ WIDE_BP }}px)。</x-text>
|
|
90
|
+
<x-text color="#999999">请使用横屏,屏幕旋转,模拟等方式变动本页面宽,展示响应式排版布局。</x-text>
|
|
91
|
+
<view class="bp-row">
|
|
92
|
+
<text class="bp-label">当前断点:</text>
|
|
93
|
+
<text class="bp-state" :style="_bpStyle">{{ _isWide ? '宽屏' : '窄屏' }}</text>
|
|
94
|
+
<text class="bp-label">(change 触发 {{ _changeCount }} 次)</text>
|
|
95
|
+
</view>
|
|
96
|
+
</x-sheet>
|
|
97
|
+
|
|
98
|
+
<x-sheet>
|
|
99
|
+
<x-text font-size="18" class="text-weight-b mb-8">列表 + 详情</x-text>
|
|
100
|
+
<x-text color="#999999" class="mb-12">窄屏只有列表;宽屏右侧并排显示详情。</x-text>
|
|
101
|
+
</x-sheet>
|
|
102
|
+
<x-layout :wide="WIDE_BP" side-width="64%" :space="10" :padding="12" bgColor="white" round="14" class="mx-12"
|
|
103
|
+
@change="_onBreakpoint">
|
|
104
|
+
<template #side>
|
|
105
|
+
<view class="pane pane-detail" :style="{ backgroundColor: _paneDetailBg }">
|
|
106
|
+
<text class="pane-title">详情区</text>
|
|
107
|
+
</view>
|
|
108
|
+
</template>
|
|
109
|
+
<view class="pane pane-list" :style="{ backgroundColor: _paneBlueBg }">
|
|
110
|
+
<text class="pane-title">列表区</text>
|
|
111
|
+
</view>
|
|
112
|
+
</x-layout>
|
|
113
|
+
|
|
114
|
+
<x-sheet margin="12">
|
|
115
|
+
<x-text font-size="18" class="text-weight-b mb-8">侧栏 + 主区</x-text>
|
|
116
|
+
<x-text color="#999999" class="mb-12">侧栏在左,两栏都撑满父级高度。</x-text>
|
|
117
|
+
</x-sheet>
|
|
118
|
+
<view class="fill-host">
|
|
119
|
+
<x-layout :wide="WIDE_BP" side="start" side-width="20%" :space="10" :fill="true" :padding="12"
|
|
120
|
+
bgColor="white" round="14">
|
|
121
|
+
<template #side>
|
|
122
|
+
<view class="pane pane-nav" :style="{ backgroundColor: _paneGreenBg }">
|
|
123
|
+
<text class="pane-title">侧栏</text>
|
|
124
|
+
</view>
|
|
125
|
+
</template>
|
|
126
|
+
<view class="pane pane-body" :style="{ backgroundColor: _paneBlueBg }">
|
|
127
|
+
<text class="pane-title">主区</text>
|
|
128
|
+
</view>
|
|
129
|
+
</x-layout>
|
|
130
|
+
</view>
|
|
131
|
+
|
|
132
|
+
<x-sheet margin="12">
|
|
133
|
+
<x-text font-size="18" class="text-weight-b mb-8">窄屏一套、宽屏另换一套</x-text>
|
|
134
|
+
<x-text color="#999999" class="mb-12">mode="screen":#narrow 只在窄屏渲染,默认槽只在宽屏渲染,
|
|
135
|
+
两套整屏内容各写各的;宽屏再配 #side 就是左栏 + 右栏。节点样式用 customStyle 追加。</x-text>
|
|
136
|
+
</x-sheet>
|
|
137
|
+
<x-layout mode="screen" :wide="WIDE_BP" side="start" side-width="30%" :space="10" :padding="12" bgColor="white"
|
|
138
|
+
round="14" class="mx-12" :custom-style="_screenGradientStyle">
|
|
139
|
+
<template #narrow>
|
|
140
|
+
<view class="pane pane-narrow" :style="{ backgroundColor: _paneNarrowBg }">
|
|
141
|
+
<text class="pane-title">窄屏整屏</text>
|
|
142
|
+
<text class="pane-tip">窗口宽到 {{ WIDE_BP }}px 以上就换成下面那套</text>
|
|
143
|
+
</view>
|
|
144
|
+
</template>
|
|
145
|
+
<template #side>
|
|
146
|
+
<view class="pane pane-nav" :style="{ backgroundColor: _paneGreenBg }">
|
|
147
|
+
<text class="pane-title pa-n5">侧栏</text>
|
|
148
|
+
</view>
|
|
149
|
+
</template>
|
|
150
|
+
<view class="pane pane-body" :style="{ backgroundColor: _paneBlueBg }">
|
|
151
|
+
<text class="pane-title pa-n5">宽屏主区</text>
|
|
152
|
+
</view>
|
|
153
|
+
</x-layout>
|
|
154
|
+
|
|
155
|
+
<x-sheet margin="12">
|
|
156
|
+
<x-text font-size="18" class="text-weight-b mb-8">嵌套:主区里再来一套</x-text>
|
|
157
|
+
<x-text color="#999999" class="mb-12">每层各判各的断点(外层 {{ WIDE_BP }}px、内层 {{ NEST_BP }}px),互不干扰;
|
|
158
|
+
内层现在:{{ _nestWide ? '宽屏,右边多出详情栏' : '窄屏,只有列表' }}。</x-text>
|
|
159
|
+
</x-sheet>
|
|
160
|
+
<x-layout :wide="WIDE_BP" side="start" side-width="26%" :space="10" :padding="12" bgColor="white" round="14"
|
|
161
|
+
class="mx-12">
|
|
162
|
+
<template #side>
|
|
163
|
+
<view class="pane pane-nav" :style="{ backgroundColor: _paneGreenBg }">
|
|
164
|
+
<text class="pane-title">外层侧栏</text>
|
|
165
|
+
</view>
|
|
166
|
+
</template>
|
|
167
|
+
<!-- 主区里再嵌一套,内层断点比外层靠后:窗口要再宽一档才多出内层的详情栏 -->
|
|
168
|
+
<x-layout :wide="NEST_BP" side-width="40%" :space="8" :padding="10" round="10" bgColor="#f4f7ff"
|
|
169
|
+
darkBgColor="#1e222b" @change="_onNestChange">
|
|
170
|
+
<template #side>
|
|
171
|
+
<view class="pane pane-detail" :style="{ backgroundColor: _paneDetailBg }">
|
|
172
|
+
<text class="pane-title">内层详情</text>
|
|
173
|
+
</view>
|
|
174
|
+
</template>
|
|
175
|
+
<view class="pane pane-list" :style="{ backgroundColor: _paneBlueBg }">
|
|
176
|
+
<text class="pane-title">内层列表</text>
|
|
177
|
+
<text class="pane-tip">宽到 {{ NEST_BP }}px 右边多出详情</text>
|
|
178
|
+
</view>
|
|
179
|
+
</x-layout>
|
|
180
|
+
</x-layout>
|
|
181
|
+
|
|
182
|
+
<view style="height:40px"></view>
|
|
183
|
+
</template>
|
|
184
|
+
|
|
185
|
+
<script lang="ts" setup>
|
|
186
|
+
import { computed, ref } from "vue"
|
|
187
|
+
import { xConfig } from "@/uni_modules/tmx-ui"
|
|
188
|
+
|
|
189
|
+
/** 宽屏断点:手机竖屏(375~430)够不着,横过来就跨过(最窄的常见横屏是 iPhone SE 的 667) */
|
|
190
|
+
const WIDE_BP = 640
|
|
191
|
+
|
|
192
|
+
/** 嵌套演示里内层的断点,故意比外层靠后,用来看每层各判各的 */
|
|
193
|
+
const NEST_BP = 900
|
|
194
|
+
|
|
195
|
+
/** change 事件给的状态。显示不靠它,只用来读当前断点和数触发次数 */
|
|
196
|
+
const _isWide = ref<boolean>(false)
|
|
197
|
+
const _changeCount = ref<number>(0)
|
|
198
|
+
|
|
199
|
+
/** 内层 layout 自己的断点状态:外层宽了它不一定宽,各判各的 */
|
|
200
|
+
const _nestWide = ref<boolean>(false)
|
|
201
|
+
|
|
202
|
+
/** 暗黑下文字是浅色,分区块的浅底要换成深底,否则白字压在亮底上读不清 */
|
|
203
|
+
const _isDark = computed((): boolean => xConfig.dark == 'dark')
|
|
204
|
+
|
|
205
|
+
/** 蓝底区块(列表区 / 主区) */
|
|
206
|
+
const _paneBlueBg = computed((): string => _isDark.value ? '#172741' : '#e8f3ff')
|
|
207
|
+
|
|
208
|
+
/** 橙底区块(详情区) */
|
|
209
|
+
const _paneDetailBg = computed((): string => _isDark.value ? '#3a2b1a' : '#fff5e6')
|
|
210
|
+
|
|
211
|
+
/** 绿底区块(侧栏) */
|
|
212
|
+
const _paneGreenBg = computed((): string => _isDark.value ? '#1b2f21' : '#eafaea')
|
|
213
|
+
|
|
214
|
+
/** 窄屏整屏区块 */
|
|
215
|
+
const _paneNarrowBg = computed((): string => _isDark.value ? '#1b2438' : '#eef3ff')
|
|
216
|
+
|
|
217
|
+
/** 窄屏/宽屏两套演示的整块渐变底,暗黑用深色渐变 */
|
|
218
|
+
const _screenGradientStyle = computed((): string => {
|
|
219
|
+
if (_isDark.value) return 'background-image: linear-gradient(to bottom,#1a2438,#1c1c1E)'
|
|
220
|
+
return 'background-image: linear-gradient(to bottom,#eaf1ff,#ffffff)'
|
|
221
|
+
})
|
|
222
|
+
|
|
223
|
+
/** 断点颜色:宽屏绿、窄屏橙。暗黑下换成亮一档的颜色,深底上才看得清 */
|
|
224
|
+
const _bpStyle = computed((): Map<string, any> => {
|
|
225
|
+
const map = new Map<string, any>()
|
|
226
|
+
if (_isDark.value) {
|
|
227
|
+
map.set("color", _isWide.value ? "#4ade80" : "#fbbf24")
|
|
228
|
+
} else {
|
|
229
|
+
map.set("color", _isWide.value ? "#1a7f37" : "#8a4b00")
|
|
230
|
+
}
|
|
231
|
+
return map
|
|
232
|
+
})
|
|
233
|
+
|
|
234
|
+
function _onBreakpoint(wide : boolean) : void {
|
|
235
|
+
_isWide.value = wide
|
|
236
|
+
_changeCount.value = _changeCount.value + 1
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/** 内层 layout 的断点回调,和外层那个互不影响 */
|
|
240
|
+
function _onNestChange(wide : boolean) : void {
|
|
241
|
+
_nestWide.value = wide
|
|
242
|
+
}
|
|
243
|
+
</script>
|
|
244
|
+
|
|
245
|
+
<style scoped>
|
|
246
|
+
.bp-row {
|
|
247
|
+
flex-direction: row;
|
|
248
|
+
align-items: center;
|
|
249
|
+
margin-top: 10px;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
.bp-label {
|
|
253
|
+
font-size: 12px;
|
|
254
|
+
color: #999999;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.bp-state {
|
|
258
|
+
font-size: 12px;
|
|
259
|
+
font-weight: bold;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
.pane-title {
|
|
263
|
+
font-size: 15px;
|
|
264
|
+
font-weight: bold;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/* 空容器演示:列表区,窄屏整屏、宽屏占剩下的 60% */
|
|
268
|
+
.pane-list {
|
|
269
|
+
height: 120px;
|
|
270
|
+
border-radius: 10px;
|
|
271
|
+
background-color: #e8f3ff;
|
|
272
|
+
align-items: center;
|
|
273
|
+
justify-content: center;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/* 空容器演示:详情区,宽屏才出现,和列表等高 */
|
|
277
|
+
.pane-detail {
|
|
278
|
+
flex: 1;
|
|
279
|
+
height: 120px;
|
|
280
|
+
border-radius: 10px;
|
|
281
|
+
background-color: #fff5e6;
|
|
282
|
+
align-items: center;
|
|
283
|
+
justify-content: center;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.pane-nav {
|
|
287
|
+
flex: 1;
|
|
288
|
+
border-radius: 10px;
|
|
289
|
+
background-color: #eafaea;
|
|
290
|
+
align-items: center;
|
|
291
|
+
justify-content: center;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.pane-body {
|
|
295
|
+
flex: 1;
|
|
296
|
+
border-radius: 10px;
|
|
297
|
+
background-color: #e8f3ff;
|
|
298
|
+
align-items: center;
|
|
299
|
+
justify-content: center;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/* 窄屏整屏:只在窄屏出现,横过来就换成侧栏 + 主区 */
|
|
303
|
+
.pane-narrow {
|
|
304
|
+
height: 120px;
|
|
305
|
+
border-radius: 10px;
|
|
306
|
+
background-color: #eef3ff;
|
|
307
|
+
align-items: center;
|
|
308
|
+
justify-content: center;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
.pane-tip {
|
|
312
|
+
font-size: 12px;
|
|
313
|
+
color: #999999;
|
|
314
|
+
margin-top: 6px;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/* fill 需要一个有确定高度的父级,否则 flex:1 无从吃起 */
|
|
318
|
+
.fill-host {
|
|
319
|
+
height: 180px;
|
|
320
|
+
margin-left: 12px;
|
|
321
|
+
margin-right: 12px;
|
|
322
|
+
}
|
|
323
|
+
</style>
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## 版权
|
|
329
|
+
|
|
330
|
+
@2026 tmui4x [https://xui.tmui.design](https://xui.tmui.design)
|
|
@@ -34,8 +34,11 @@
|
|
|
34
34
|
| name | `上传到服务器的名称字段`<br> | `string` | `"file"` |
|
|
35
35
|
| header | `上传到服务器的头文件`<br> | `Record` | `() : Record<string, any> => { return {} as Record<string, any> }` |
|
|
36
36
|
| formData | `额外的表单数据。`<br> | `Record` | `() : Record<string, any> => { return {} as Record<string, any> }` |
|
|
37
|
-
| imgHeight |
|
|
37
|
+
| imgHeight | ``<br> | `string` | `"80"` |
|
|
38
|
+
| cellRatio | `格子宽高比 = 宽 / 高,1 为正方形(默认)`<br> | `number` | `1` |
|
|
39
|
+
| maxCellSize | `格子最大边长(px),0 表示随容器铺满;平板/Web 想保持固定密度时可设 96~120`<br> | `number` | `0` |
|
|
38
40
|
| column | `一行显示几列`<br> | `number` | `5` |
|
|
41
|
+
| autoColumn | `宽屏时按容器宽自动增加列数,column 作为最少列数;默认 false`<br> | `boolean` | `false` |
|
|
39
42
|
| okFileIsDelete | `上传成功的文件是否允许删除`<br> | `boolean` | `true` |
|
|
40
43
|
| uploadingFileIsDelete | `上传中的文件是否允许删除`<br> | `boolean` | `true` |
|
|
41
44
|
| modelValue | `等同v-model`<br> | `Array` | `() : XUPLOADFILE_FILE_VALUE[] => [] as XUPLOADFILE_FILE_VALUE[]` |
|
|
@@ -48,8 +51,8 @@
|
|
|
48
51
|
| compressedHeight | `压缩后的缩放高,0表示不压缩高`<br> | `number` | `0` |
|
|
49
52
|
| compressedWidth | `压缩后的缩放高,0表示不压缩宽`<br> | `number` | `0` |
|
|
50
53
|
| quality | `压缩质量`<br> | `number` | `80` |
|
|
51
|
-
| addPos |
|
|
52
|
-
| align |
|
|
54
|
+
| addPos | `上传占位(+)的位置:'before'放在最前,'after'放在最后(默认)`<br> | `string` | `"after"` |
|
|
55
|
+
| align | `子项对齐方式:'left'左对齐(默认),'right'右对齐,未填满的行整体靠右(表单右对齐时用)`<br> | `string` | `"left"` |
|
|
53
56
|
|
|
54
57
|
|
|
55
58
|
## Events 事件
|
|
@@ -102,7 +105,22 @@
|
|
|
102
105
|
|
|
103
106
|
<x-sheet>
|
|
104
107
|
<x-upload-media :beforeUpload="beforeUpload" :header="headerestotken" :before-del="beforeRemove"
|
|
105
|
-
v-model="list" :column="4"></x-upload-media>
|
|
108
|
+
v-model="list" :column="4" auto-column></x-upload-media>
|
|
109
|
+
</x-sheet>
|
|
110
|
+
<x-sheet>
|
|
111
|
+
<x-text font-size="18" class=" text-weight-b mb-8">自适应尺寸(默认 1:1)</x-text>
|
|
112
|
+
<x-text color="#999999" class="text-size-b">
|
|
113
|
+
格子高度由容器宽度自动计算:窄屏等比缩小、宽屏按目标尺寸自动增加列数,图片 cover 裁切不拉伸。
|
|
114
|
+
下面把最大边长限制为 80px,宽屏时格子不会超过 80px。
|
|
115
|
+
</x-text>
|
|
116
|
+
<x-upload-media class="mt-12" :column="4" :max-cell-size="80" auto-column v-model="list2"></x-upload-media>
|
|
117
|
+
</x-sheet>
|
|
118
|
+
<x-sheet>
|
|
119
|
+
<x-text font-size="18" class=" text-weight-b mb-8">自定义格子比例 cell-ratio</x-text>
|
|
120
|
+
<x-text color="#999999" class="text-size-b">
|
|
121
|
+
默认 1:1。示例为 4:3,高度 = 宽度 ÷ (4/3),图片仍然 cover 裁切。
|
|
122
|
+
</x-text>
|
|
123
|
+
<x-upload-media class="mt-12" :column="3" :cell-ratio="4 / 3" v-model="ratioList"></x-upload-media>
|
|
106
124
|
</x-sheet>
|
|
107
125
|
<x-sheet>
|
|
108
126
|
<x-text font-size="18" class=" text-weight-b mb-8">上传视频</x-text>
|
|
@@ -114,6 +132,23 @@
|
|
|
114
132
|
<x-upload-media :before-complete="beforeComputed" :header="headerestotken"
|
|
115
133
|
v-model="list3" :column="4"></x-upload-media>
|
|
116
134
|
</x-sheet>
|
|
135
|
+
<x-sheet>
|
|
136
|
+
<x-text font-size="18" class=" text-weight-b mb-8">占位前后、对齐左右切换</x-text>
|
|
137
|
+
<x-text color="#999999" class="text-size-b">
|
|
138
|
+
两个都属于布局属性,默认是占位在后(add-pos="after")、左对齐(align="left"),右边开关可随时切换。
|
|
139
|
+
</x-text>
|
|
140
|
+
<view class="flex flex-row flex-row-center-between mt-12" style="height: 50px;">
|
|
141
|
+
<x-text>上传占位放在最前面</x-text>
|
|
142
|
+
<x-switch v-model="addPosBefore" color="primary"></x-switch>
|
|
143
|
+
</view>
|
|
144
|
+
<view class="flex flex-row flex-row-center-between" style="height: 50px;">
|
|
145
|
+
<x-text>未填满的行整体右对齐</x-text>
|
|
146
|
+
<x-switch v-model="alignRight" color="primary"></x-switch>
|
|
147
|
+
</view>
|
|
148
|
+
<x-upload-media class="mt-12" :column="4" v-model="layoutList"
|
|
149
|
+
:add-pos="addPosBefore ? 'before' : 'after'"
|
|
150
|
+
:align="alignRight ? 'right' : 'left'"></x-upload-media>
|
|
151
|
+
</x-sheet>
|
|
117
152
|
<x-sheet>
|
|
118
153
|
<x-text font-size="18" class=" text-weight-b mb-8">演示循环数组绑定并改变顺序</x-text>
|
|
119
154
|
<!-- 要注意,如果我循环变动key一定要唯一不能相同或者为Index数字vue3会有diff导致不刷新数据. -->
|
|
@@ -163,6 +198,14 @@
|
|
|
163
198
|
] as FORMLIST[]
|
|
164
199
|
|
|
165
200
|
const headerestotken = ref<Record<string, any>>({ accessToken: "99999" })
|
|
201
|
+
// 布局演示用:占位是否放最前、是否右对齐
|
|
202
|
+
const addPosBefore = ref<boolean>(false)
|
|
203
|
+
const alignRight = ref<boolean>(false)
|
|
204
|
+
// 布局演示用初始数据:两张图,便于看出“占位前后”和“行整体靠右”的区别
|
|
205
|
+
const layoutList = ref<XUPLOADFILE_FILE_VALUE[]>([
|
|
206
|
+
{ url: 'https://cdn.pixabay.com/photo/2026/03/15/04/20/geralt-classroom-10174576_150.jpg' },
|
|
207
|
+
{ url: 'https://cdn.pixabay.com/photo/2026/03/15/09/57/neelam279-wild-cherry-10174886_150.jpg' },
|
|
208
|
+
])
|
|
166
209
|
const testlist = ref<FORMLIST[]>(formlist)
|
|
167
210
|
const list = ref<XUPLOADFILE_FILE_VALUE[]>([
|
|
168
211
|
{ url: 'https://cdn.pixabay.com/photo/2026/03/13/03/42/tifanitopan-ayam-goreng-10170975_150.jpg' },
|
|
@@ -178,6 +221,10 @@
|
|
|
178
221
|
{ url: 'https://cdn.pixabay.com/photo/2026/03/15/14/15/14-15-36-350_150.jpg' },
|
|
179
222
|
])
|
|
180
223
|
const list3 = ref<XUPLOADFILE_FILE_VALUE[]>([])
|
|
224
|
+
const ratioList = ref<XUPLOADFILE_FILE_VALUE[]>([
|
|
225
|
+
{ url: 'https://cdn.pixabay.com/photo/2026/03/15/19/19/matthiasboeckel-tulip-10175462_150.jpg' },
|
|
226
|
+
{ url: 'https://tmui.design/images/logoGreat.png' },
|
|
227
|
+
])
|
|
181
228
|
|
|
182
229
|
// 模板引用
|
|
183
230
|
const uploader = ref<XUploadMediaComponentPublicInstance | null>(null)
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
<x-text color="#999999">支持多选,范围,如果需要单天选择请前往xCalendarView组件{{currentDate}}</x-text>
|
|
104
104
|
</x-sheet>
|
|
105
105
|
<x-sheet :padding="['0']">
|
|
106
|
-
<x-calendar-multiple :dateStatus="dateStatus" style="border-radius: 12px;" @change="onchange" v-model:currentDate="currentDate" :disabledDays="['2024-5-31']" :date-style="dateStyle" headBgColor='rgb(5, 121, 255)' headFontColor='white' v-
|
|
106
|
+
<x-calendar-multiple :dateStatus="dateStatus" style="border-radius: 12px;" @change="onchange" v-model:currentDate="currentDate" :disabledDays="['2024-5-31']" :date-style="dateStyle" headBgColor='rgb(5, 121, 255)' headFontColor='white' v-model="dates"></x-calendar-multiple>
|
|
107
107
|
<view class="px-12 pb-12">
|
|
108
108
|
<x-button @click="setdate" skin='thin' :block="true" >赋值</x-button>
|
|
109
109
|
</view>
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
<x-text color="#999999">下面的范围选择限制了只能最多选择20天,如果要不限制设置multipleMax为0即可</x-text>
|
|
114
114
|
</x-sheet>
|
|
115
115
|
<x-sheet :padding="['0']">
|
|
116
|
-
<x-calendar-multiple @change="onchange"
|
|
116
|
+
<x-calendar-multiple @change="onchange" :multipleMax="20" model='range' v-model="dates2"></x-calendar-multiple>
|
|
117
117
|
<view class="px-12 pb-12">
|
|
118
118
|
<x-button @click="fuzhi" skin='thin' :block="true" >赋值</x-button>
|
|
119
119
|
</view>
|
|
@@ -129,7 +129,6 @@
|
|
|
129
129
|
const dates2 = ref<string[]>([])
|
|
130
130
|
const dateStyle = ref<xCalendarDateStyle_type[]>([])
|
|
131
131
|
const currentDate = ref<string>('2024-2-1')
|
|
132
|
-
const show = ref<boolean>(false)
|
|
133
132
|
const dateStatus = ref<xCalendarDateStyleStatusType[]>([{
|
|
134
133
|
between: {
|
|
135
134
|
start: "2024-2-1",
|
|
@@ -169,10 +168,6 @@
|
|
|
169
168
|
})
|
|
170
169
|
}
|
|
171
170
|
|
|
172
|
-
onReady(()=>{
|
|
173
|
-
show.value = true;
|
|
174
|
-
})
|
|
175
|
-
|
|
176
171
|
</script>
|
|
177
172
|
|
|
178
173
|
<style>
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
## 介绍
|
|
4
4
|
|
|
5
5
|
传递正常markdown或者html内容即可,传递markdown时会自动转换为html,如果直接传递html不会转换直接赋值.
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
全端使用官方 editor 组件,Markdown 用 marked 转成 html 后 setContents。样式状态由 statuschange 回写。从2.0.02开始使用官方自带的了,但style样式设置不了字体颜色,导致无法匹配暗黑
|
|
7
|
+
因此要注意下这个区别,如果着急等官方修复,建议使用我写的x-markdown-u代替,更先进支持表格和图片。
|
|
8
8
|
|
|
9
9
|
## 平台兼容
|
|
10
10
|
|
|
11
11
|
| Harmony | H5 | andriod | IOS | 小程序 | UTS | UNIAPP-X SDK | version |
|
|
12
12
|
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
13
|
-
| ☑ | ☑ | ☑️ | ☑️ | ☑️ | ☑️ |
|
|
13
|
+
| ☑ | ☑ | ☑️ | ☑️ | ☑️ | ☑️ | 5.08+ | 1.1.18 |
|
|
14
14
|
|
|
15
15
|
## 文件路径
|
|
16
16
|
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
| 名称 | 参数 | 说明 |
|
|
45
45
|
| ------ | ---- | ---- |
|
|
46
|
-
| tagClick | `<br>` |
|
|
46
|
+
| tagClick | `<br>` | 保留兼容。官方 editor 不提供 a/img 点击,此事件不再触发。 |
|
|
47
47
|
| init | `-` | 是否初始化成功 |
|
|
48
48
|
| getValue | `-` | 需要通过ref函数调用getHtml才会触发此函数 |
|
|
49
49
|
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
| 名称 | 参数 | 返回值 | 说明 |
|
|
59
59
|
| ------ | ---- | ---- | ---- |
|
|
60
60
|
| resync | - | `-` | - |
|
|
61
|
+
| confirm | - | `-` | - |
|
|
61
62
|
|
|
62
63
|
|
|
63
64
|
## 示例文件路径
|
|
@@ -103,6 +104,28 @@
|
|
|
103
104
|
<x-text font-size="18" class=" text-weight-b mb-8">内嵌日期选择器 xDateView</x-text>
|
|
104
105
|
<x-date-view v-model="modelValue2" start="2020-3-12" end="2025-10-5"></x-date-view>
|
|
105
106
|
</x-sheet>
|
|
107
|
+
<x-sheet>
|
|
108
|
+
<x-text font-size="18" class=" text-weight-b mb-8">formatSyncValue,不滚动直接确认</x-text>
|
|
109
|
+
<x-text color="#999999" class="mb-8">打开后不滑动,直接点确认。modelValue 应变成 format 后的值。</x-text>
|
|
110
|
+
<x-picker-date v-model="syncValue" :formatSyncValue="true" start="2020-1-1" end="2026-12-31"
|
|
111
|
+
v-model:model-str="syncStr" type="minute" format="YYYY-MM-DD hh:mm">
|
|
112
|
+
<template v-slot:default="{label}">
|
|
113
|
+
<x-button :block="true">不滚动直接确认</x-button>
|
|
114
|
+
</template>
|
|
115
|
+
</x-picker-date>
|
|
116
|
+
<x-sheet :margin="['0','24','0','0']" color="#f5f5f5" dark-color="#333">
|
|
117
|
+
<x-text color="#999999">modelValue:{{syncValue}}</x-text>
|
|
118
|
+
<x-text color="#999999">modelStr:{{syncStr}}</x-text>
|
|
119
|
+
</x-sheet>
|
|
120
|
+
</x-sheet>
|
|
121
|
+
<x-sheet>
|
|
122
|
+
<x-text font-size="18" class=" text-weight-b mb-8">xDateView formatSyncValue</x-text>
|
|
123
|
+
<x-text color="#999999" class="mb-8">同一逻辑。不滚动时 modelValue 也应是 format 后的值。</x-text>
|
|
124
|
+
<x-date-view v-model="syncValue2" v-model:model-str="syncStr2" :formatSyncValue="true"
|
|
125
|
+
format="YYYY-MM-DD hh:mm" type="minute" start="2020-1-1" end="2026-12-31"></x-date-view>
|
|
126
|
+
<x-text color="#999999">modelValue:{{syncValue2}}</x-text>
|
|
127
|
+
<x-text color="#999999">modelStr:{{syncStr2}}</x-text>
|
|
128
|
+
</x-sheet>
|
|
106
129
|
|
|
107
130
|
<x-sheet>
|
|
108
131
|
<x-text font-size="18" class=" text-weight-b">精确到秒</x-text>
|
|
@@ -122,6 +145,10 @@
|
|
|
122
145
|
const modelValue = ref("2024-10-06 10:10:10")
|
|
123
146
|
const modelValue2 = ref("2025-4-22 10:10:10")
|
|
124
147
|
const modelValue3 = ref("2024-10-06 10:10:10")
|
|
148
|
+
const syncValue = ref("2024-10-06 10:10:10")
|
|
149
|
+
const syncStr = ref("")
|
|
150
|
+
const syncValue2 = ref("2024-10-06 10:10:10")
|
|
151
|
+
const syncStr2 = ref("")
|
|
125
152
|
</script>
|
|
126
153
|
|
|
127
154
|
<style lang="scss">
|
|
@@ -102,18 +102,20 @@
|
|
|
102
102
|
|
|
103
103
|
<x-sheet :padding="['0']" :margin="['12','0','12','12']"
|
|
104
104
|
:linear-gradient="(_isDark?([] as string[]):['bottom','#d1eaed','#effdff'])">
|
|
105
|
-
<x-calendar-view :dateStatus="dateStatus" @change="onchange"
|
|
105
|
+
<x-calendar-view :dateStatus="dateStatus" @change="onchange" :seek-day="seekDay"
|
|
106
106
|
:date-style="dateStyle" :disabled-days="['2024-5-31']" v-model="date"></x-calendar-view>
|
|
107
107
|
<view class="pa-32">
|
|
108
108
|
<x-button :block="true" @click="setdate">设置日期样式数据</x-button>
|
|
109
109
|
</view>
|
|
110
110
|
</x-sheet>
|
|
111
111
|
<x-sheet>
|
|
112
|
-
<x-text font-size="18" class=" text-weight-b "
|
|
112
|
+
<x-text font-size="18" class=" text-weight-b ">隐藏头、尾(空插槽),禁止选择(disabled),可以实现自定日历。</x-text>
|
|
113
113
|
</x-sheet>
|
|
114
114
|
<x-sheet :padding="['0']">
|
|
115
|
-
<x-calendar-view @change="onchange"
|
|
116
|
-
|
|
115
|
+
<x-calendar-view @change="onchange" :seek-day="seekDay" :disabled="true">
|
|
116
|
+
<template #header></template>
|
|
117
|
+
<template #footer></template>
|
|
118
|
+
</x-calendar-view>
|
|
117
119
|
</x-sheet>
|
|
118
120
|
|
|
119
121
|
<view style="height:50px"></view>
|
|
@@ -137,7 +139,6 @@
|
|
|
137
139
|
{ date: '2024-5-24', color: 'green' },
|
|
138
140
|
]
|
|
139
141
|
} as xCalendarDateStyleStatusType])
|
|
140
|
-
const show = ref<boolean>(false)
|
|
141
142
|
const seekDay = ref<number>(0)
|
|
142
143
|
const _isDark = computed(() : boolean => xConfig.dark == 'dark')
|
|
143
144
|
|
|
@@ -162,9 +163,6 @@
|
|
|
162
163
|
seekDay.value = day;
|
|
163
164
|
console.log(`设置周起始日为: ${day}`);
|
|
164
165
|
}
|
|
165
|
-
onReady(() => {
|
|
166
|
-
show.value = true;
|
|
167
|
-
})
|
|
168
166
|
</script>
|
|
169
167
|
|
|
170
168
|
<style lang="scss">
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
| cellUnits | `上方的单位名称,'年', '月', '日', '时', '分', '秒'`<br> | `Array` | `() => [] as string[]` |
|
|
42
42
|
| lazyContent | `是否懒加载内部内容。`<br>`当前你的列表内容非常多,且影响打开的动画性能时,请务必`<br>`设置此项为true,以获得流畅视觉效果。如果选择数据较少可以设置为false,获得更好的视觉效果。`<br> | `boolean` | `false` |
|
|
43
43
|
| zIndex | `层级`<br> | `number` | `1100` |
|
|
44
|
-
| showClose | `是否显示关闭按钮`<br> | `boolean` | `
|
|
44
|
+
| showClose | `是否显示关闭按钮`<br> | `boolean` | `false` |
|
|
45
45
|
| disabled | `是否禁用弹出`<br> | `boolean` | `false` |
|
|
46
46
|
| widthCoverCenter | `宽屏时是否让内容剧中显示`<br>`并限制其宽为屏幕宽,只展示中间内容以适应宽屏。`<br> | `boolean` | `false` |
|
|
47
47
|
|
|
@@ -114,6 +114,28 @@
|
|
|
114
114
|
<x-text font-size="18" class=" text-weight-b mb-8">内嵌日期选择器 xDateView</x-text>
|
|
115
115
|
<x-date-view v-model="modelValue2" start="2020-3-12" end="2025-10-5"></x-date-view>
|
|
116
116
|
</x-sheet>
|
|
117
|
+
<x-sheet>
|
|
118
|
+
<x-text font-size="18" class=" text-weight-b mb-8">formatSyncValue,不滚动直接确认</x-text>
|
|
119
|
+
<x-text color="#999999" class="mb-8">打开后不滑动,直接点确认。modelValue 应变成 format 后的值。</x-text>
|
|
120
|
+
<x-picker-date v-model="syncValue" :formatSyncValue="true" start="2020-1-1" end="2026-12-31"
|
|
121
|
+
v-model:model-str="syncStr" type="minute" format="YYYY-MM-DD hh:mm">
|
|
122
|
+
<template v-slot:default="{label}">
|
|
123
|
+
<x-button :block="true">不滚动直接确认</x-button>
|
|
124
|
+
</template>
|
|
125
|
+
</x-picker-date>
|
|
126
|
+
<x-sheet :margin="['0','24','0','0']" color="#f5f5f5" dark-color="#333">
|
|
127
|
+
<x-text color="#999999">modelValue:{{syncValue}}</x-text>
|
|
128
|
+
<x-text color="#999999">modelStr:{{syncStr}}</x-text>
|
|
129
|
+
</x-sheet>
|
|
130
|
+
</x-sheet>
|
|
131
|
+
<x-sheet>
|
|
132
|
+
<x-text font-size="18" class=" text-weight-b mb-8">xDateView formatSyncValue</x-text>
|
|
133
|
+
<x-text color="#999999" class="mb-8">同一逻辑。不滚动时 modelValue 也应是 format 后的值。</x-text>
|
|
134
|
+
<x-date-view v-model="syncValue2" v-model:model-str="syncStr2" :formatSyncValue="true"
|
|
135
|
+
format="YYYY-MM-DD hh:mm" type="minute" start="2020-1-1" end="2026-12-31"></x-date-view>
|
|
136
|
+
<x-text color="#999999">modelValue:{{syncValue2}}</x-text>
|
|
137
|
+
<x-text color="#999999">modelStr:{{syncStr2}}</x-text>
|
|
138
|
+
</x-sheet>
|
|
117
139
|
|
|
118
140
|
<x-sheet>
|
|
119
141
|
<x-text font-size="18" class=" text-weight-b">精确到秒</x-text>
|
|
@@ -133,6 +155,10 @@
|
|
|
133
155
|
const modelValue = ref("2024-10-06 10:10:10")
|
|
134
156
|
const modelValue2 = ref("2025-4-22 10:10:10")
|
|
135
157
|
const modelValue3 = ref("2024-10-06 10:10:10")
|
|
158
|
+
const syncValue = ref("2024-10-06 10:10:10")
|
|
159
|
+
const syncStr = ref("")
|
|
160
|
+
const syncValue2 = ref("2024-10-06 10:10:10")
|
|
161
|
+
const syncStr2 = ref("")
|
|
136
162
|
</script>
|
|
137
163
|
|
|
138
164
|
<style lang="scss">
|