cbvirtua 1.0.100 → 1.0.101
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/dist/action-sheet/index.d.ts +1 -0
- package/dist/action-sheet/index.js +75 -0
- package/dist/action-sheet/index.json +8 -0
- package/dist/action-sheet/index.wxml +70 -0
- package/dist/action-sheet/index.wxss +1 -0
- package/dist/area/index.d.ts +1 -0
- package/dist/area/index.js +220 -0
- package/dist/area/index.json +6 -0
- package/dist/area/index.wxml +20 -0
- package/dist/area/index.wxs +8 -0
- package/dist/area/index.wxss +1 -0
- package/dist/button/index.d.ts +1 -0
- package/dist/button/index.js +64 -0
- package/dist/button/index.json +7 -0
- package/dist/button/index.wxml +56 -0
- package/dist/button/index.wxs +39 -0
- package/dist/button/index.wxss +1 -0
- package/dist/calendar/calendar.wxml +70 -0
- package/dist/calendar/components/header/index.d.ts +1 -0
- package/dist/calendar/components/header/index.js +37 -0
- package/dist/calendar/components/header/index.json +3 -0
- package/dist/calendar/components/header/index.wxml +16 -0
- package/dist/calendar/components/header/index.wxss +1 -0
- package/dist/calendar/components/month/index.d.ts +6 -0
- package/dist/calendar/components/month/index.js +154 -0
- package/dist/calendar/components/month/index.json +3 -0
- package/dist/calendar/components/month/index.wxml +39 -0
- package/dist/calendar/components/month/index.wxs +71 -0
- package/dist/calendar/components/month/index.wxss +1 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +360 -0
- package/dist/calendar/index.json +10 -0
- package/dist/calendar/index.wxml +27 -0
- package/dist/calendar/index.wxs +37 -0
- package/dist/calendar/index.wxss +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.js +83 -0
- package/dist/calendar/utils.wxs +25 -0
- package/dist/card/index.d.ts +1 -0
- package/dist/card/index.js +49 -0
- package/dist/card/index.json +6 -0
- package/dist/card/index.wxml +56 -0
- package/dist/card/index.wxss +1 -0
- package/dist/cascader/index.d.ts +1 -0
- package/dist/cascader/index.js +214 -0
- package/dist/cascader/index.json +8 -0
- package/dist/cascader/index.wxml +55 -0
- package/dist/cascader/index.wxs +24 -0
- package/dist/cascader/index.wxss +1 -0
- package/dist/cell/index.d.ts +1 -0
- package/dist/cell/index.js +38 -0
- package/dist/cell/index.json +6 -0
- package/dist/cell/index.wxml +47 -0
- package/dist/cell/index.wxs +17 -0
- package/dist/cell/index.wxss +1 -0
- package/dist/cell-group/index.d.ts +1 -0
- package/dist/cell-group/index.js +11 -0
- package/dist/cell-group/index.json +3 -0
- package/dist/cell-group/index.wxml +11 -0
- package/dist/cell-group/index.wxss +1 -0
- package/dist/checkbox/index.d.ts +1 -0
- package/dist/checkbox/index.js +77 -0
- package/dist/checkbox/index.json +6 -0
- package/dist/checkbox/index.wxml +31 -0
- package/dist/checkbox/index.wxs +20 -0
- package/dist/checkbox/index.wxss +1 -0
- package/dist/checkbox-group/index.d.ts +1 -0
- package/dist/checkbox-group/index.js +36 -0
- package/dist/checkbox-group/index.json +3 -0
- package/dist/checkbox-group/index.wxml +5 -0
- package/dist/checkbox-group/index.wxss +1 -0
- package/dist/circle/canvas.d.ts +4 -0
- package/dist/circle/canvas.js +43 -0
- package/dist/circle/index.d.ts +1 -0
- package/dist/circle/index.js +197 -0
- package/dist/circle/index.json +3 -0
- package/dist/circle/index.wxml +9 -0
- package/dist/circle/index.wxss +1 -0
- package/dist/col/index.d.ts +1 -0
- package/dist/col/index.js +9 -0
- package/dist/col/index.json +3 -0
- package/dist/col/index.wxml +9 -0
- package/dist/col/index.wxs +18 -0
- package/dist/col/index.wxss +1 -0
- package/dist/collapse/index.d.ts +1 -0
- package/dist/collapse/index.js +46 -0
- package/dist/collapse/index.json +3 -0
- package/dist/collapse/index.wxml +3 -0
- package/dist/collapse/index.wxss +1 -0
- package/dist/collapse-item/animate.d.ts +2 -0
- package/dist/collapse-item/animate.js +39 -0
- package/dist/collapse-item/index.d.ts +1 -0
- package/dist/collapse-item/index.js +61 -0
- package/dist/collapse-item/index.json +6 -0
- package/dist/collapse-item/index.wxml +45 -0
- package/dist/collapse-item/index.wxss +1 -0
- package/dist/common/color.d.ts +7 -0
- package/dist/common/color.js +7 -0
- package/dist/common/component.d.ts +4 -0
- package/dist/common/component.js +46 -0
- package/dist/common/index.wxss +1 -0
- package/dist/common/relation.d.ts +15 -0
- package/dist/common/relation.js +56 -0
- package/dist/common/style/clearfix.wxss +1 -0
- package/dist/common/style/ellipsis.wxss +1 -0
- package/dist/common/style/hairline.wxss +1 -0
- package/dist/common/style/mixins/clearfix.wxss +0 -0
- package/dist/common/style/mixins/ellipsis.wxss +0 -0
- package/dist/common/style/mixins/hairline.wxss +0 -0
- package/dist/common/style/var.wxss +0 -0
- package/dist/common/utils.d.ts +21 -0
- package/dist/common/utils.js +86 -0
- package/dist/common/validator.d.ts +9 -0
- package/dist/common/validator.js +31 -0
- package/dist/common/version.d.ts +15 -0
- package/dist/common/version.js +59 -0
- package/dist/config-provider/index.d.ts +1 -0
- package/dist/config-provider/index.js +9 -0
- package/dist/config-provider/index.json +3 -0
- package/dist/config-provider/index.wxml +5 -0
- package/dist/config-provider/index.wxs +29 -0
- package/dist/count-down/index.d.ts +1 -0
- package/dist/count-down/index.js +100 -0
- package/dist/count-down/index.json +3 -0
- package/dist/count-down/index.wxml +4 -0
- package/dist/count-down/index.wxss +1 -0
- package/dist/count-down/utils.d.ts +10 -0
- package/dist/count-down/utils.js +57 -0
- package/dist/datetime-picker/index.d.ts +1 -0
- package/dist/datetime-picker/index.js +295 -0
- package/dist/datetime-picker/index.json +6 -0
- package/dist/datetime-picker/index.wxml +16 -0
- package/dist/datetime-picker/index.wxss +1 -0
- package/dist/definitions/index.d.ts +29 -0
- package/dist/definitions/index.js +1 -0
- package/dist/dialog/dialog.d.ts +55 -0
- package/dist/dialog/dialog.js +77 -0
- package/dist/dialog/index.d.ts +1 -0
- package/dist/dialog/index.js +132 -0
- package/dist/dialog/index.json +9 -0
- package/dist/dialog/index.wxml +126 -0
- package/dist/dialog/index.wxss +1 -0
- package/dist/divider/index.d.ts +1 -0
- package/dist/divider/index.js +12 -0
- package/dist/divider/index.json +4 -0
- package/dist/divider/index.wxml +9 -0
- package/dist/divider/index.wxs +18 -0
- package/dist/divider/index.wxss +1 -0
- package/dist/dropdown-item/index.d.ts +1 -0
- package/dist/dropdown-item/index.js +130 -0
- package/dist/dropdown-item/index.json +8 -0
- package/dist/dropdown-item/index.wxml +50 -0
- package/dist/dropdown-item/index.wxss +1 -0
- package/dist/dropdown-item/shared.d.ts +5 -0
- package/dist/dropdown-item/shared.js +1 -0
- package/dist/dropdown-menu/index.d.ts +1 -0
- package/dist/dropdown-menu/index.js +117 -0
- package/dist/dropdown-menu/index.json +3 -0
- package/dist/dropdown-menu/index.wxml +23 -0
- package/dist/dropdown-menu/index.wxs +16 -0
- package/dist/dropdown-menu/index.wxss +1 -0
- package/dist/empty/index.d.ts +1 -0
- package/dist/empty/index.js +10 -0
- package/dist/empty/index.json +4 -0
- package/dist/empty/index.wxml +22 -0
- package/dist/empty/index.wxs +15 -0
- package/dist/empty/index.wxss +1 -0
- package/dist/field/index.d.ts +1 -0
- package/dist/field/index.js +138 -0
- package/dist/field/index.json +7 -0
- package/dist/field/index.wxml +56 -0
- package/dist/field/index.wxs +18 -0
- package/dist/field/index.wxss +1 -0
- package/dist/field/input.wxml +31 -0
- package/dist/field/props.d.ts +4 -0
- package/dist/field/props.js +56 -0
- package/dist/field/textarea.wxml +32 -0
- package/dist/field/types.d.ts +8 -0
- package/dist/field/types.js +1 -0
- package/dist/goods-action/index.d.ts +1 -0
- package/dist/goods-action/index.js +15 -0
- package/dist/goods-action/index.json +3 -0
- package/dist/goods-action/index.wxml +5 -0
- package/dist/goods-action/index.wxss +1 -0
- package/dist/goods-action-button/index.d.ts +1 -0
- package/dist/goods-action-button/index.js +44 -0
- package/dist/goods-action-button/index.json +6 -0
- package/dist/goods-action-button/index.wxml +35 -0
- package/dist/goods-action-button/index.wxss +1 -0
- package/dist/goods-action-icon/index.d.ts +1 -0
- package/dist/goods-action-icon/index.js +27 -0
- package/dist/goods-action-icon/index.json +7 -0
- package/dist/goods-action-icon/index.wxml +41 -0
- package/dist/goods-action-icon/index.wxss +1 -0
- package/dist/grid/index.d.ts +1 -0
- package/dist/grid/index.js +55 -0
- package/dist/grid/index.json +3 -0
- package/dist/grid/index.wxml +8 -0
- package/dist/grid/index.wxs +13 -0
- package/dist/grid/index.wxss +1 -0
- package/dist/grid-item/index.d.ts +1 -0
- package/dist/grid-item/index.js +52 -0
- package/dist/grid-item/index.json +6 -0
- package/dist/grid-item/index.wxml +27 -0
- package/dist/grid-item/index.wxs +32 -0
- package/dist/grid-item/index.wxss +1 -0
- package/dist/icon/index.d.ts +1 -0
- package/dist/icon/index.js +21 -0
- package/dist/icon/index.json +6 -0
- package/dist/icon/index.wxml +20 -0
- package/dist/icon/index.wxs +43 -0
- package/dist/icon/index.wxss +1 -0
- package/dist/image/index.d.ts +1 -0
- package/dist/image/index.js +64 -0
- package/dist/image/index.json +7 -0
- package/dist/image/index.wxml +35 -0
- package/dist/image/index.wxs +32 -0
- package/dist/image/index.wxss +1 -0
- package/dist/index-anchor/index.d.ts +1 -0
- package/dist/index-anchor/index.js +25 -0
- package/dist/index-anchor/index.json +3 -0
- package/dist/index-anchor/index.wxml +14 -0
- package/dist/index-anchor/index.wxss +1 -0
- package/dist/index-bar/index.d.ts +1 -0
- package/dist/index-bar/index.js +246 -0
- package/dist/index-bar/index.json +3 -0
- package/dist/index-bar/index.wxml +22 -0
- package/dist/index-bar/index.wxss +1 -0
- package/dist/info/index.d.ts +1 -0
- package/dist/info/index.js +8 -0
- package/dist/info/index.json +3 -0
- package/dist/info/index.wxml +7 -0
- package/dist/info/index.wxss +1 -0
- package/dist/loading/index.d.ts +1 -0
- package/dist/loading/index.js +16 -0
- package/dist/loading/index.json +3 -0
- package/dist/loading/index.wxml +19 -0
- package/dist/loading/index.wxs +22 -0
- package/dist/loading/index.wxss +1 -0
- package/dist/mixins/basic.d.ts +1 -0
- package/dist/mixins/basic.js +26 -0
- package/dist/mixins/button.d.ts +1 -0
- package/dist/mixins/button.js +51 -0
- package/dist/mixins/link.d.ts +1 -0
- package/dist/mixins/link.js +23 -0
- package/dist/mixins/page-scroll.d.ts +6 -0
- package/dist/mixins/page-scroll.js +42 -0
- package/dist/mixins/touch.d.ts +1 -0
- package/dist/mixins/touch.js +37 -0
- package/dist/mixins/transition.d.ts +1 -0
- package/dist/mixins/transition.js +136 -0
- package/dist/nav-bar/index.d.ts +1 -0
- package/dist/nav-bar/index.js +65 -0
- package/dist/nav-bar/index.json +6 -0
- package/dist/nav-bar/index.wxml +42 -0
- package/dist/nav-bar/index.wxs +13 -0
- package/dist/nav-bar/index.wxss +1 -0
- package/dist/notice-bar/index.d.ts +1 -0
- package/dist/notice-bar/index.js +132 -0
- package/dist/notice-bar/index.json +6 -0
- package/dist/notice-bar/index.wxml +38 -0
- package/dist/notice-bar/index.wxs +15 -0
- package/dist/notice-bar/index.wxss +1 -0
- package/dist/notify/index.d.ts +1 -0
- package/dist/notify/index.js +65 -0
- package/dist/notify/index.json +6 -0
- package/dist/notify/index.wxml +21 -0
- package/dist/notify/index.wxs +22 -0
- package/dist/notify/index.wxss +1 -0
- package/dist/notify/notify.d.ts +22 -0
- package/dist/notify/notify.js +53 -0
- package/dist/overlay/index.d.ts +1 -0
- package/dist/overlay/index.js +30 -0
- package/dist/overlay/index.json +6 -0
- package/dist/overlay/index.wxml +7 -0
- package/dist/overlay/index.wxss +1 -0
- package/dist/overlay/overlay.wxml +10 -0
- package/dist/panel/index.d.ts +1 -0
- package/dist/panel/index.js +9 -0
- package/dist/panel/index.json +6 -0
- package/dist/panel/index.wxml +19 -0
- package/dist/panel/index.wxss +1 -0
- package/dist/picker/index.d.ts +1 -0
- package/dist/picker/index.js +136 -0
- package/dist/picker/index.json +7 -0
- package/dist/picker/index.wxml +37 -0
- package/dist/picker/index.wxs +42 -0
- package/dist/picker/index.wxss +1 -0
- package/dist/picker/shared.d.ts +21 -0
- package/dist/picker/shared.js +21 -0
- package/dist/picker/toolbar.wxml +23 -0
- package/dist/picker-column/index.d.ts +1 -0
- package/dist/picker-column/index.js +118 -0
- package/dist/picker-column/index.json +3 -0
- package/dist/picker-column/index.wxml +23 -0
- package/dist/picker-column/index.wxs +36 -0
- package/dist/picker-column/index.wxss +1 -0
- package/dist/popup/index.d.ts +1 -0
- package/dist/popup/index.js +97 -0
- package/dist/popup/index.json +7 -0
- package/dist/popup/index.wxml +21 -0
- package/dist/popup/index.wxs +18 -0
- package/dist/popup/index.wxss +1 -0
- package/dist/popup/popup.wxml +16 -0
- package/dist/progress/index.d.ts +1 -0
- package/dist/progress/index.js +51 -0
- package/dist/progress/index.json +3 -0
- package/dist/progress/index.wxml +20 -0
- package/dist/progress/index.wxs +36 -0
- package/dist/progress/index.wxss +1 -0
- package/dist/radio/index.d.ts +1 -0
- package/dist/radio/index.js +66 -0
- package/dist/radio/index.json +6 -0
- package/dist/radio/index.wxml +30 -0
- package/dist/radio/index.wxs +33 -0
- package/dist/radio/index.wxss +1 -0
- package/dist/radio-group/index.d.ts +1 -0
- package/dist/radio-group/index.js +22 -0
- package/dist/radio-group/index.json +3 -0
- package/dist/radio-group/index.wxml +5 -0
- package/dist/radio-group/index.wxss +1 -0
- package/dist/rate/index.d.ts +1 -0
- package/dist/rate/index.js +78 -0
- package/dist/rate/index.json +6 -0
- package/dist/rate/index.wxml +35 -0
- package/dist/rate/index.wxss +1 -0
- package/dist/row/index.d.ts +1 -0
- package/dist/row/index.js +23 -0
- package/dist/row/index.json +3 -0
- package/dist/row/index.wxml +5 -0
- package/dist/row/index.wxs +18 -0
- package/dist/row/index.wxss +1 -0
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.js +97 -0
- package/dist/search/index.json +6 -0
- package/dist/search/index.wxml +54 -0
- package/dist/search/index.wxss +1 -0
- package/dist/share-sheet/index.d.ts +1 -0
- package/dist/share-sheet/index.js +59 -0
- package/dist/share-sheet/index.json +7 -0
- package/dist/share-sheet/index.wxml +47 -0
- package/dist/share-sheet/index.wxs +12 -0
- package/dist/share-sheet/index.wxss +1 -0
- package/dist/share-sheet/options.d.ts +1 -0
- package/dist/share-sheet/options.js +14 -0
- package/dist/share-sheet/options.json +3 -0
- package/dist/share-sheet/options.wxml +20 -0
- package/dist/share-sheet/options.wxs +14 -0
- package/dist/share-sheet/options.wxss +1 -0
- package/dist/sidebar/index.d.ts +1 -0
- package/dist/sidebar/index.js +34 -0
- package/dist/sidebar/index.json +3 -0
- package/dist/sidebar/index.wxml +3 -0
- package/dist/sidebar/index.wxss +1 -0
- package/dist/sidebar-item/index.d.ts +1 -0
- package/dist/sidebar-item/index.js +29 -0
- package/dist/sidebar-item/index.json +6 -0
- package/dist/sidebar-item/index.wxml +18 -0
- package/dist/sidebar-item/index.wxss +1 -0
- package/dist/skeleton/index.d.ts +1 -0
- package/dist/skeleton/index.js +46 -0
- package/dist/skeleton/index.json +4 -0
- package/dist/skeleton/index.wxml +29 -0
- package/dist/skeleton/index.wxss +1 -0
- package/dist/slider/index.d.ts +1 -0
- package/dist/slider/index.js +207 -0
- package/dist/slider/index.json +3 -0
- package/dist/slider/index.wxml +68 -0
- package/dist/slider/index.wxs +14 -0
- package/dist/slider/index.wxss +1 -0
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +184 -0
- package/dist/stepper/index.json +3 -0
- package/dist/stepper/index.wxml +43 -0
- package/dist/stepper/index.wxs +22 -0
- package/dist/stepper/index.wxss +1 -0
- package/dist/steps/index.d.ts +1 -0
- package/dist/steps/index.js +33 -0
- package/dist/steps/index.json +6 -0
- package/dist/steps/index.wxml +54 -0
- package/dist/steps/index.wxss +1 -0
- package/dist/sticky/index.d.ts +1 -0
- package/dist/sticky/index.js +120 -0
- package/dist/sticky/index.json +3 -0
- package/dist/sticky/index.wxml +8 -0
- package/dist/sticky/index.wxs +25 -0
- package/dist/sticky/index.wxss +1 -0
- package/dist/submit-bar/index.d.ts +1 -0
- package/dist/submit-bar/index.js +56 -0
- package/dist/submit-bar/index.json +7 -0
- package/dist/submit-bar/index.wxml +44 -0
- package/dist/submit-bar/index.wxss +1 -0
- package/dist/swipe-cell/index.d.ts +1 -0
- package/dist/swipe-cell/index.js +133 -0
- package/dist/swipe-cell/index.json +3 -0
- package/dist/swipe-cell/index.wxml +20 -0
- package/dist/swipe-cell/index.wxss +1 -0
- package/dist/switch/index.d.ts +1 -0
- package/dist/switch/index.js +36 -0
- package/dist/switch/index.json +6 -0
- package/dist/switch/index.wxml +16 -0
- package/dist/switch/index.wxs +26 -0
- package/dist/switch/index.wxss +1 -0
- package/dist/tab/index.d.ts +1 -0
- package/dist/tab/index.js +56 -0
- package/dist/tab/index.json +3 -0
- package/dist/tab/index.wxml +8 -0
- package/dist/tab/index.wxss +1 -0
- package/dist/tabbar/index.d.ts +1 -0
- package/dist/tabbar/index.js +65 -0
- package/dist/tabbar/index.json +3 -0
- package/dist/tabbar/index.wxml +10 -0
- package/dist/tabbar/index.wxss +1 -0
- package/dist/tabbar-item/index.d.ts +1 -0
- package/dist/tabbar-item/index.js +68 -0
- package/dist/tabbar-item/index.json +7 -0
- package/dist/tabbar-item/index.wxml +28 -0
- package/dist/tabbar-item/index.wxss +1 -0
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.js +302 -0
- package/dist/tabs/index.json +7 -0
- package/dist/tabs/index.wxml +63 -0
- package/dist/tabs/index.wxs +83 -0
- package/dist/tabs/index.wxss +1 -0
- package/dist/tag/index.d.ts +1 -0
- package/dist/tag/index.js +21 -0
- package/dist/tag/index.json +6 -0
- package/dist/tag/index.wxml +15 -0
- package/dist/tag/index.wxs +13 -0
- package/dist/tag/index.wxss +1 -0
- package/dist/toast/index.d.ts +1 -0
- package/dist/toast/index.js +29 -0
- package/dist/toast/index.json +9 -0
- package/dist/toast/index.wxml +36 -0
- package/dist/toast/index.wxss +1 -0
- package/dist/toast/toast.d.ts +28 -0
- package/dist/toast/toast.js +68 -0
- package/dist/transition/index.d.ts +1 -0
- package/dist/transition/index.js +13 -0
- package/dist/transition/index.json +3 -0
- package/dist/transition/index.wxml +10 -0
- package/dist/transition/index.wxs +17 -0
- package/dist/transition/index.wxss +1 -0
- package/dist/tree-select/index.d.ts +1 -0
- package/dist/tree-select/index.js +68 -0
- package/dist/tree-select/index.json +8 -0
- package/dist/tree-select/index.wxml +41 -0
- package/dist/tree-select/index.wxs +12 -0
- package/dist/tree-select/index.wxss +1 -0
- package/dist/uploader/index.d.ts +1 -0
- package/dist/uploader/index.js +170 -0
- package/dist/uploader/index.json +7 -0
- package/dist/uploader/index.wxml +85 -0
- package/dist/uploader/index.wxs +17 -0
- package/dist/uploader/index.wxss +1 -0
- package/dist/uploader/shared.d.ts +61 -0
- package/dist/uploader/shared.js +65 -0
- package/dist/uploader/utils.d.ts +24 -0
- package/dist/uploader/utils.js +94 -0
- package/dist/wxs/add-unit.wxs +12 -0
- package/dist/wxs/array.wxs +5 -0
- package/dist/wxs/bem.wxs +39 -0
- package/dist/wxs/memoize.wxs +55 -0
- package/dist/wxs/object.wxs +13 -0
- package/dist/wxs/style.wxs +42 -0
- package/dist/wxs/utils.wxs +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
var FieldName;
|
|
3
|
+
(function (FieldName) {
|
|
4
|
+
FieldName["TEXT"] = "text";
|
|
5
|
+
FieldName["VALUE"] = "value";
|
|
6
|
+
FieldName["CHILDREN"] = "children";
|
|
7
|
+
})(FieldName || (FieldName = {}));
|
|
8
|
+
const defaultFieldNames = {
|
|
9
|
+
text: FieldName.TEXT,
|
|
10
|
+
value: FieldName.VALUE,
|
|
11
|
+
children: FieldName.CHILDREN,
|
|
12
|
+
};
|
|
13
|
+
VantComponent({
|
|
14
|
+
props: {
|
|
15
|
+
title: String,
|
|
16
|
+
value: {
|
|
17
|
+
type: String,
|
|
18
|
+
},
|
|
19
|
+
placeholder: {
|
|
20
|
+
type: String,
|
|
21
|
+
value: '请选择',
|
|
22
|
+
},
|
|
23
|
+
activeColor: {
|
|
24
|
+
type: String,
|
|
25
|
+
value: '#1989fa',
|
|
26
|
+
},
|
|
27
|
+
options: {
|
|
28
|
+
type: Array,
|
|
29
|
+
value: [],
|
|
30
|
+
},
|
|
31
|
+
swipeable: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
value: false,
|
|
34
|
+
},
|
|
35
|
+
closeable: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
value: true,
|
|
38
|
+
},
|
|
39
|
+
ellipsis: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
value: true,
|
|
42
|
+
},
|
|
43
|
+
showHeader: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
value: true,
|
|
46
|
+
},
|
|
47
|
+
closeIcon: {
|
|
48
|
+
type: String,
|
|
49
|
+
value: 'cross',
|
|
50
|
+
},
|
|
51
|
+
fieldNames: {
|
|
52
|
+
type: Object,
|
|
53
|
+
value: defaultFieldNames,
|
|
54
|
+
observer: 'updateFieldNames',
|
|
55
|
+
},
|
|
56
|
+
useTitleSlot: Boolean,
|
|
57
|
+
},
|
|
58
|
+
data: {
|
|
59
|
+
tabs: [],
|
|
60
|
+
activeTab: 0,
|
|
61
|
+
textKey: FieldName.TEXT,
|
|
62
|
+
valueKey: FieldName.VALUE,
|
|
63
|
+
childrenKey: FieldName.CHILDREN,
|
|
64
|
+
innerValue: '',
|
|
65
|
+
},
|
|
66
|
+
watch: {
|
|
67
|
+
options() {
|
|
68
|
+
this.updateTabs();
|
|
69
|
+
},
|
|
70
|
+
value(newVal) {
|
|
71
|
+
this.updateValue(newVal);
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
created() {
|
|
75
|
+
this.updateTabs();
|
|
76
|
+
},
|
|
77
|
+
methods: {
|
|
78
|
+
updateValue(val) {
|
|
79
|
+
if (val !== undefined) {
|
|
80
|
+
const values = this.data.tabs.map((tab) => tab.selected && tab.selected[this.data.valueKey]);
|
|
81
|
+
if (values.indexOf(val) > -1) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
this.innerValue = val;
|
|
86
|
+
this.updateTabs();
|
|
87
|
+
},
|
|
88
|
+
updateFieldNames() {
|
|
89
|
+
const { text = 'text', value = 'value', children = 'children', } = this.data.fieldNames || defaultFieldNames;
|
|
90
|
+
this.setData({
|
|
91
|
+
textKey: text,
|
|
92
|
+
valueKey: value,
|
|
93
|
+
childrenKey: children,
|
|
94
|
+
});
|
|
95
|
+
},
|
|
96
|
+
getSelectedOptionsByValue(options, value) {
|
|
97
|
+
for (let i = 0; i < options.length; i++) {
|
|
98
|
+
const option = options[i];
|
|
99
|
+
if (option[this.data.valueKey] === value) {
|
|
100
|
+
return [option];
|
|
101
|
+
}
|
|
102
|
+
if (option[this.data.childrenKey]) {
|
|
103
|
+
const selectedOptions = this.getSelectedOptionsByValue(option[this.data.childrenKey], value);
|
|
104
|
+
if (selectedOptions) {
|
|
105
|
+
return [option, ...selectedOptions];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
updateTabs() {
|
|
111
|
+
const { options } = this.data;
|
|
112
|
+
const { innerValue } = this;
|
|
113
|
+
if (!options.length) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (innerValue !== undefined) {
|
|
117
|
+
const selectedOptions = this.getSelectedOptionsByValue(options, innerValue);
|
|
118
|
+
if (selectedOptions) {
|
|
119
|
+
let optionsCursor = options;
|
|
120
|
+
const tabs = selectedOptions.map((option) => {
|
|
121
|
+
const tab = {
|
|
122
|
+
options: optionsCursor,
|
|
123
|
+
selected: option,
|
|
124
|
+
};
|
|
125
|
+
const next = optionsCursor.find((item) => item[this.data.valueKey] === option[this.data.valueKey]);
|
|
126
|
+
if (next) {
|
|
127
|
+
optionsCursor = next[this.data.childrenKey];
|
|
128
|
+
}
|
|
129
|
+
return tab;
|
|
130
|
+
});
|
|
131
|
+
if (optionsCursor) {
|
|
132
|
+
tabs.push({
|
|
133
|
+
options: optionsCursor,
|
|
134
|
+
selected: null,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
this.setData({
|
|
138
|
+
tabs,
|
|
139
|
+
});
|
|
140
|
+
wx.nextTick(() => {
|
|
141
|
+
this.setData({
|
|
142
|
+
activeTab: tabs.length - 1,
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
this.setData({
|
|
149
|
+
tabs: [
|
|
150
|
+
{
|
|
151
|
+
options,
|
|
152
|
+
selected: null,
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
activeTab: 0,
|
|
156
|
+
});
|
|
157
|
+
},
|
|
158
|
+
onClose() {
|
|
159
|
+
this.$emit('close');
|
|
160
|
+
},
|
|
161
|
+
onClickTab(e) {
|
|
162
|
+
const { index: tabIndex, title } = e.detail;
|
|
163
|
+
this.$emit('click-tab', { title, tabIndex });
|
|
164
|
+
this.setData({
|
|
165
|
+
activeTab: tabIndex,
|
|
166
|
+
});
|
|
167
|
+
},
|
|
168
|
+
// 选中
|
|
169
|
+
onSelect(e) {
|
|
170
|
+
const { option, tabIndex } = e.currentTarget.dataset;
|
|
171
|
+
if (option && option.disabled) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
const { valueKey, childrenKey } = this.data;
|
|
175
|
+
let { tabs } = this.data;
|
|
176
|
+
tabs[tabIndex].selected = option;
|
|
177
|
+
if (tabs.length > tabIndex + 1) {
|
|
178
|
+
tabs = tabs.slice(0, tabIndex + 1);
|
|
179
|
+
}
|
|
180
|
+
if (option[childrenKey]) {
|
|
181
|
+
const nextTab = {
|
|
182
|
+
options: option[childrenKey],
|
|
183
|
+
selected: null,
|
|
184
|
+
};
|
|
185
|
+
if (tabs[tabIndex + 1]) {
|
|
186
|
+
tabs[tabIndex + 1] = nextTab;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
tabs.push(nextTab);
|
|
190
|
+
}
|
|
191
|
+
wx.nextTick(() => {
|
|
192
|
+
this.setData({
|
|
193
|
+
activeTab: tabIndex + 1,
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
this.setData({
|
|
198
|
+
tabs,
|
|
199
|
+
});
|
|
200
|
+
const selectedOptions = tabs.map((tab) => tab.selected).filter(Boolean);
|
|
201
|
+
const value = option[valueKey];
|
|
202
|
+
const params = {
|
|
203
|
+
value,
|
|
204
|
+
tabIndex,
|
|
205
|
+
selectedOptions,
|
|
206
|
+
};
|
|
207
|
+
this.innerValue = value;
|
|
208
|
+
this.$emit('change', params);
|
|
209
|
+
if (!option[childrenKey]) {
|
|
210
|
+
this.$emit('finish', params);
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<wxs src="./index.wxs" module="utils" />
|
|
2
|
+
|
|
3
|
+
<view wx:if="{{ showHeader }}" class="van-cascader__header">
|
|
4
|
+
<slot name="title" wx:if="{{ useTitleSlot }}"></slot>
|
|
5
|
+
<text class="van-cascader__title" wx:else>{{ title }}</text>
|
|
6
|
+
<van-icon
|
|
7
|
+
wx:if="{{ closeable }}"
|
|
8
|
+
name="{{ closeIcon }}"
|
|
9
|
+
class="van-cascader__close-icon"
|
|
10
|
+
bind:tap="onClose"
|
|
11
|
+
/>
|
|
12
|
+
</view>
|
|
13
|
+
|
|
14
|
+
<van-tabs
|
|
15
|
+
active="{{ activeTab }}"
|
|
16
|
+
custom-class="van-cascader__tabs"
|
|
17
|
+
wrap-class="van-cascader__tabs-wrap"
|
|
18
|
+
tab-class="van-cascader__tab"
|
|
19
|
+
color="{{ activeColor }}"
|
|
20
|
+
border="{{ false }}"
|
|
21
|
+
swipeable="{{ swipeable }}"
|
|
22
|
+
ellipsis="{{ ellipsis }}"
|
|
23
|
+
bind:click="onClickTab"
|
|
24
|
+
>
|
|
25
|
+
<van-tab
|
|
26
|
+
wx:for="{{ tabs }}"
|
|
27
|
+
wx:for-item="tab"
|
|
28
|
+
wx:for-index="tabIndex"
|
|
29
|
+
wx:key="tabIndex"
|
|
30
|
+
title="{{ tab.selected ? tab.selected[textKey] : placeholder }}"
|
|
31
|
+
style="width: 100%;"
|
|
32
|
+
title-style="{{ !tab.selected ? 'color: #969799;font-weight:normal;' : '' }}"
|
|
33
|
+
>
|
|
34
|
+
<!-- 暂不支持 -->
|
|
35
|
+
<!-- <slot name="options-top"></slot> -->
|
|
36
|
+
|
|
37
|
+
<view class="van-cascader__options">
|
|
38
|
+
<view
|
|
39
|
+
wx:for="{{ tab.options }}"
|
|
40
|
+
wx:for-item="option"
|
|
41
|
+
wx:key="index"
|
|
42
|
+
class="{{ option.className }} {{ utils.optionClass(tab, valueKey, option) }}"
|
|
43
|
+
style="{{ utils.optionStyle({ tab, valueKey, option, activeColor }) }}"
|
|
44
|
+
data-option="{{ option }}"
|
|
45
|
+
data-tab-index="{{ tabIndex }}"
|
|
46
|
+
bind:tap="onSelect"
|
|
47
|
+
>
|
|
48
|
+
<text>{{ option[textKey] }}</text>
|
|
49
|
+
<van-icon wx:if="{{ utils.isSelected(tab, valueKey, option) }}" name="success" size="18" />
|
|
50
|
+
</view>
|
|
51
|
+
</view>
|
|
52
|
+
<!-- 暂不支持 -->
|
|
53
|
+
<!-- <slot name="options-bottom"></slot> -->
|
|
54
|
+
</van-tab>
|
|
55
|
+
</van-tabs>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var utils = require('../wxs/utils.wxs');
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
|
|
4
|
+
function isSelected(tab, valueKey, option) {
|
|
5
|
+
return tab.selected && tab.selected[valueKey] === option[valueKey]
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function optionClass(tab, valueKey, option) {
|
|
9
|
+
return utils.bem('cascader__option', { selected: isSelected(tab, valueKey, option), disabled: option.disabled })
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function optionStyle(data) {
|
|
13
|
+
var color = data.option.color || (isSelected(data.tab, data.valueKey, data.option) ? data.activeColor : undefined);
|
|
14
|
+
return style({
|
|
15
|
+
color
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module.exports = {
|
|
21
|
+
isSelected: isSelected,
|
|
22
|
+
optionClass: optionClass,
|
|
23
|
+
optionStyle: optionStyle,
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-cascader__header{align-items:center;display:flex;height:48px;justify-content:space-between;padding:0 16px}.van-cascader__title{font-size:16px;font-weight:600;line-height:20px}.van-cascader__close-icon{color:#c8c9cc;font-size:22px;height:22px}.van-cascader__tabs-wrap{height:48px!important;padding:0 8px}.van-cascader__tab{color:#323233!important;flex:none!important;font-weight:600!important;padding:0 8px!important}.van-cascader__tab--unselected{color:#969799!important;font-weight:400!important}.van-cascader__option{align-items:center;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;line-height:20px;padding:10px 16px}.van-cascader__option:active{background-color:#f2f3f5}.van-cascader__option--selected{color:#1989fa;font-weight:600}.van-cascader__option--disabled{color:#c8c9cc;cursor:not-allowed}.van-cascader__option--disabled:active{background-color:initial}.van-cascader__options{-webkit-overflow-scrolling:touch;box-sizing:border-box;height:384px;overflow-y:auto;padding-top:6px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { link } from '../mixins/link';
|
|
2
|
+
import { VantComponent } from '../common/component';
|
|
3
|
+
VantComponent({
|
|
4
|
+
classes: [
|
|
5
|
+
'title-class',
|
|
6
|
+
'label-class',
|
|
7
|
+
'value-class',
|
|
8
|
+
'right-icon-class',
|
|
9
|
+
'hover-class',
|
|
10
|
+
],
|
|
11
|
+
mixins: [link],
|
|
12
|
+
props: {
|
|
13
|
+
title: null,
|
|
14
|
+
value: null,
|
|
15
|
+
icon: String,
|
|
16
|
+
size: String,
|
|
17
|
+
label: String,
|
|
18
|
+
center: Boolean,
|
|
19
|
+
isLink: Boolean,
|
|
20
|
+
required: Boolean,
|
|
21
|
+
clickable: Boolean,
|
|
22
|
+
titleWidth: String,
|
|
23
|
+
customStyle: String,
|
|
24
|
+
arrowDirection: String,
|
|
25
|
+
useLabelSlot: Boolean,
|
|
26
|
+
border: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
value: true,
|
|
29
|
+
},
|
|
30
|
+
titleStyle: String,
|
|
31
|
+
},
|
|
32
|
+
methods: {
|
|
33
|
+
onClick(event) {
|
|
34
|
+
this.$emit('click', event.detail);
|
|
35
|
+
this.jumpLink();
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
<wxs src="./index.wxs" module="computed" />
|
|
3
|
+
|
|
4
|
+
<view
|
|
5
|
+
class="custom-class {{ utils.bem('cell', [size, { center, required, borderless: !border, clickable: isLink || clickable }]) }}"
|
|
6
|
+
hover-class="van-cell--hover hover-class"
|
|
7
|
+
hover-stay-time="70"
|
|
8
|
+
style="{{ customStyle }}"
|
|
9
|
+
bind:tap="onClick"
|
|
10
|
+
>
|
|
11
|
+
<van-icon
|
|
12
|
+
wx:if="{{ icon }}"
|
|
13
|
+
name="{{ icon }}"
|
|
14
|
+
class="van-cell__left-icon-wrap"
|
|
15
|
+
custom-class="van-cell__left-icon"
|
|
16
|
+
/>
|
|
17
|
+
<slot wx:else name="icon" />
|
|
18
|
+
|
|
19
|
+
<view
|
|
20
|
+
style="{{ computed.titleStyle({ titleWidth, titleStyle }) }}"
|
|
21
|
+
class="van-cell__title title-class"
|
|
22
|
+
>
|
|
23
|
+
|
|
24
|
+
<block wx:if="{{ title }}">{{ title }}</block>
|
|
25
|
+
<slot wx:else name="title" />
|
|
26
|
+
|
|
27
|
+
<view wx:if="{{ label || useLabelSlot }}" class="van-cell__label label-class">
|
|
28
|
+
<slot wx:if="{{ useLabelSlot }}" name="label" />
|
|
29
|
+
<block wx:elif="{{ label }}">{{ label }}</block>
|
|
30
|
+
</view>
|
|
31
|
+
</view>
|
|
32
|
+
|
|
33
|
+
<view class="van-cell__value value-class">
|
|
34
|
+
<block wx:if="{{ value || value === 0 }}">{{ value }}</block>
|
|
35
|
+
<slot wx:else />
|
|
36
|
+
</view>
|
|
37
|
+
|
|
38
|
+
<van-icon
|
|
39
|
+
wx:if="{{ isLink }}"
|
|
40
|
+
name="{{ arrowDirection ? 'arrow' + '-' + arrowDirection : 'arrow' }}"
|
|
41
|
+
class="van-cell__right-icon-wrap right-icon-class"
|
|
42
|
+
custom-class="van-cell__right-icon"
|
|
43
|
+
/>
|
|
44
|
+
<slot wx:else name="right-icon" />
|
|
45
|
+
|
|
46
|
+
<slot name="extra" />
|
|
47
|
+
</view>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
var addUnit = require('../wxs/add-unit.wxs');
|
|
4
|
+
|
|
5
|
+
function titleStyle(data) {
|
|
6
|
+
return style([
|
|
7
|
+
{
|
|
8
|
+
'max-width': addUnit(data.titleWidth),
|
|
9
|
+
'min-width': addUnit(data.titleWidth),
|
|
10
|
+
},
|
|
11
|
+
data.titleStyle,
|
|
12
|
+
]);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
module.exports = {
|
|
16
|
+
titleStyle: titleStyle,
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-cell{background-color:var(--cell-background-color,#fff);box-sizing:border-box;color:var(--cell-text-color,#323233);display:flex;font-size:var(--cell-font-size,14px);line-height:var(--cell-line-height,24px);padding:var(--cell-vertical-padding,10px) var(--cell-horizontal-padding,16px);position:relative;width:100%}.van-cell:after{border-bottom:1px solid #ebedf0;bottom:0;box-sizing:border-box;content:" ";left:16px;pointer-events:none;position:absolute;right:16px;transform:scaleY(.5);transform-origin:center}.van-cell--borderless:after{display:none}.van-cell-group{background-color:var(--cell-background-color,#fff)}.van-cell__label{color:var(--cell-label-color,#969799);font-size:var(--cell-label-font-size,12px);line-height:var(--cell-label-line-height,18px);margin-top:var(--cell-label-margin-top,3px)}.van-cell__value{color:var(--cell-value-color,#969799);overflow:hidden;text-align:right;vertical-align:middle}.van-cell__title,.van-cell__value{flex:1}.van-cell__title:empty,.van-cell__value:empty{display:none}.van-cell__left-icon-wrap,.van-cell__right-icon-wrap{align-items:center;display:flex;font-size:var(--cell-icon-size,16px);height:var(--cell-line-height,24px)}.van-cell__left-icon-wrap{margin-right:var(--padding-base,4px)}.van-cell__right-icon-wrap{color:var(--cell-right-icon-color,#969799);margin-left:var(--padding-base,4px)}.van-cell__left-icon{vertical-align:middle}.van-cell__left-icon,.van-cell__right-icon{line-height:var(--cell-line-height,24px)}.van-cell--clickable.van-cell--hover{background-color:var(--cell-active-color,#f2f3f5)}.van-cell--required{overflow:visible}.van-cell--required:before{color:var(--cell-required-color,#ee0a24);content:"*";font-size:var(--cell-font-size,14px);left:var(--padding-xs,8px);position:absolute}.van-cell--center{align-items:center}.van-cell--large{padding-bottom:var(--cell-large-vertical-padding,12px);padding-top:var(--cell-large-vertical-padding,12px)}.van-cell--large .van-cell__title{font-size:var(--cell-large-title-font-size,16px)}.van-cell--large .van-cell__value{font-size:var(--cell-large-value-font-size,16px)}.van-cell--large .van-cell__label{font-size:var(--cell-large-label-font-size,14px)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
|
|
3
|
+
<view
|
|
4
|
+
wx:if="{{ title }}"
|
|
5
|
+
class="{{ utils.bem('cell-group__title', { inset }) }}"
|
|
6
|
+
>
|
|
7
|
+
{{ title }}
|
|
8
|
+
</view>
|
|
9
|
+
<view class="custom-class {{ utils.bem('cell-group', { inset }) }} {{ border ? 'van-hairline--top-bottom' : '' }}">
|
|
10
|
+
<slot />
|
|
11
|
+
</view>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-cell-group--inset{border-radius:var(--cell-group-inset-border-radius,8px);margin:var(--cell-group-inset-padding,0 16px);overflow:hidden}.van-cell-group__title{color:var(--cell-group-title-color,#969799);font-size:var(--cell-group-title-font-size,14px);line-height:var(--cell-group-title-line-height,16px);padding:var(--cell-group-title-padding,16px 16px 8px)}.van-cell-group__title--inset{padding:var(--cell-group-inset-title-padding,16px 16px 8px 32px)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { useParent } from '../common/relation';
|
|
2
|
+
import { VantComponent } from '../common/component';
|
|
3
|
+
function emit(target, value) {
|
|
4
|
+
target.$emit('input', value);
|
|
5
|
+
target.$emit('change', value);
|
|
6
|
+
}
|
|
7
|
+
VantComponent({
|
|
8
|
+
field: true,
|
|
9
|
+
relation: useParent('checkbox-group'),
|
|
10
|
+
classes: ['icon-class', 'label-class'],
|
|
11
|
+
props: {
|
|
12
|
+
value: Boolean,
|
|
13
|
+
disabled: Boolean,
|
|
14
|
+
useIconSlot: Boolean,
|
|
15
|
+
checkedColor: String,
|
|
16
|
+
labelPosition: {
|
|
17
|
+
type: String,
|
|
18
|
+
value: 'right',
|
|
19
|
+
},
|
|
20
|
+
labelDisabled: Boolean,
|
|
21
|
+
shape: {
|
|
22
|
+
type: String,
|
|
23
|
+
value: 'round',
|
|
24
|
+
},
|
|
25
|
+
iconSize: {
|
|
26
|
+
type: null,
|
|
27
|
+
value: 20,
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
data: {
|
|
31
|
+
parentDisabled: false,
|
|
32
|
+
direction: 'vertical',
|
|
33
|
+
},
|
|
34
|
+
methods: {
|
|
35
|
+
emitChange(value) {
|
|
36
|
+
if (this.parent) {
|
|
37
|
+
this.setParentValue(this.parent, value);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
emit(this, value);
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
toggle() {
|
|
44
|
+
const { parentDisabled, disabled, value } = this.data;
|
|
45
|
+
if (!disabled && !parentDisabled) {
|
|
46
|
+
this.emitChange(!value);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
onClickLabel() {
|
|
50
|
+
const { labelDisabled, parentDisabled, disabled, value } = this.data;
|
|
51
|
+
if (!disabled && !labelDisabled && !parentDisabled) {
|
|
52
|
+
this.emitChange(!value);
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
setParentValue(parent, value) {
|
|
56
|
+
const parentValue = parent.data.value.slice();
|
|
57
|
+
const { name } = this.data;
|
|
58
|
+
const { max } = parent.data;
|
|
59
|
+
if (value) {
|
|
60
|
+
if (max && parentValue.length >= max) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (parentValue.indexOf(name) === -1) {
|
|
64
|
+
parentValue.push(name);
|
|
65
|
+
emit(parent, parentValue);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const index = parentValue.indexOf(name);
|
|
70
|
+
if (index !== -1) {
|
|
71
|
+
parentValue.splice(index, 1);
|
|
72
|
+
emit(parent, parentValue);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
<wxs src="./index.wxs" module="computed" />
|
|
3
|
+
|
|
4
|
+
<view class="{{ utils.bem('checkbox', [{ horizontal: direction === 'horizontal' }]) }} custom-class">
|
|
5
|
+
<view
|
|
6
|
+
wx:if="{{ labelPosition === 'left' }}"
|
|
7
|
+
class="label-class {{ utils.bem('checkbox__label', [labelPosition, { disabled: disabled || parentDisabled }]) }}"
|
|
8
|
+
bindtap="onClickLabel"
|
|
9
|
+
>
|
|
10
|
+
<slot />
|
|
11
|
+
</view>
|
|
12
|
+
<view class="van-checkbox__icon-wrap" bindtap="toggle">
|
|
13
|
+
<slot wx:if="{{ useIconSlot }}" name="icon" />
|
|
14
|
+
<van-icon
|
|
15
|
+
wx:else
|
|
16
|
+
name="success"
|
|
17
|
+
size="0.8em"
|
|
18
|
+
class="{{ utils.bem('checkbox__icon', [shape, { disabled: disabled || parentDisabled, checked: value }]) }}"
|
|
19
|
+
style="{{ computed.iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) }}"
|
|
20
|
+
custom-class="icon-class"
|
|
21
|
+
custom-style="line-height: 1.25em;"
|
|
22
|
+
/>
|
|
23
|
+
</view>
|
|
24
|
+
<view
|
|
25
|
+
wx:if="{{ labelPosition === 'right' }}"
|
|
26
|
+
class="label-class {{ utils.bem('checkbox__label', [labelPosition, { disabled: disabled || parentDisabled }]) }}"
|
|
27
|
+
bindtap="onClickLabel"
|
|
28
|
+
>
|
|
29
|
+
<slot />
|
|
30
|
+
</view>
|
|
31
|
+
</view>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
var addUnit = require('../wxs/add-unit.wxs');
|
|
4
|
+
|
|
5
|
+
function iconStyle(checkedColor, value, disabled, parentDisabled, iconSize) {
|
|
6
|
+
var styles = {
|
|
7
|
+
'font-size': addUnit(iconSize),
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
if (checkedColor && value && !disabled && !parentDisabled) {
|
|
11
|
+
styles['border-color'] = checkedColor;
|
|
12
|
+
styles['background-color'] = checkedColor;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return style(styles);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
module.exports = {
|
|
19
|
+
iconStyle: iconStyle,
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-checkbox{align-items:center;display:flex;overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox--horizontal{margin-right:12px}.van-checkbox__icon-wrap,.van-checkbox__label{line-height:var(--checkbox-size,20px)}.van-checkbox__icon-wrap{flex:none}.van-checkbox__icon{align-items:center;border:1px solid var(--checkbox-border-color,#c8c9cc);box-sizing:border-box;color:transparent;display:flex;font-size:var(--checkbox-size,20px);height:1em;justify-content:center;text-align:center;transition-duration:var(--checkbox-transition-duration,.2s);transition-property:color,border-color,background-color;width:1em}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{background-color:var(--checkbox-checked-icon-color,#1989fa);border-color:var(--checkbox-checked-icon-color,#1989fa);color:#fff}.van-checkbox__icon--disabled{background-color:var(--checkbox-disabled-background-color,#ebedf0);border-color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:var(--checkbox-disabled-icon-color,#c8c9cc)}.van-checkbox__label{word-wrap:break-word;color:var(--checkbox-label-color,#323233);padding-left:var(--checkbox-label-margin,10px)}.van-checkbox__label--left{float:left;margin:0 var(--checkbox-label-margin,10px) 0 0}.van-checkbox__label--disabled{color:var(--checkbox-disabled-label-color,#c8c9cc)}.van-checkbox__label:empty{margin:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useChildren } from '../common/relation';
|
|
2
|
+
import { VantComponent } from '../common/component';
|
|
3
|
+
VantComponent({
|
|
4
|
+
field: true,
|
|
5
|
+
relation: useChildren('checkbox', function (target) {
|
|
6
|
+
this.updateChild(target);
|
|
7
|
+
}),
|
|
8
|
+
props: {
|
|
9
|
+
max: Number,
|
|
10
|
+
value: {
|
|
11
|
+
type: Array,
|
|
12
|
+
observer: 'updateChildren',
|
|
13
|
+
},
|
|
14
|
+
disabled: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
observer: 'updateChildren',
|
|
17
|
+
},
|
|
18
|
+
direction: {
|
|
19
|
+
type: String,
|
|
20
|
+
value: 'vertical',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
methods: {
|
|
24
|
+
updateChildren() {
|
|
25
|
+
this.children.forEach((child) => this.updateChild(child));
|
|
26
|
+
},
|
|
27
|
+
updateChild(child) {
|
|
28
|
+
const { value, disabled, direction } = this.data;
|
|
29
|
+
child.setData({
|
|
30
|
+
value: value.indexOf(child.data.name) !== -1,
|
|
31
|
+
parentDisabled: disabled,
|
|
32
|
+
direction,
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-checkbox-group--horizontal{display:flex;flex-wrap:wrap}
|