开始做登录
This commit is contained in:
		
							
								
								
									
										136
									
								
								miniprogram_npm/@vant/weapp/dropdown-item/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								miniprogram_npm/@vant/weapp/dropdown-item/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,136 @@ | ||||
| "use strict"; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| var relation_1 = require("../common/relation"); | ||||
| var component_1 = require("../common/component"); | ||||
| (0, component_1.VantComponent)({ | ||||
|     classes: ['item-title-class'], | ||||
|     field: true, | ||||
|     relation: (0, relation_1.useParent)('dropdown-menu', function () { | ||||
|         this.updateDataFromParent(); | ||||
|     }), | ||||
|     props: { | ||||
|         value: { | ||||
|             type: null, | ||||
|             observer: 'rerender', | ||||
|         }, | ||||
|         title: { | ||||
|             type: String, | ||||
|             observer: 'rerender', | ||||
|         }, | ||||
|         disabled: Boolean, | ||||
|         titleClass: { | ||||
|             type: String, | ||||
|             observer: 'rerender', | ||||
|         }, | ||||
|         options: { | ||||
|             type: Array, | ||||
|             value: [], | ||||
|             observer: 'rerender', | ||||
|         }, | ||||
|         popupStyle: String, | ||||
|         useBeforeToggle: { | ||||
|             type: Boolean, | ||||
|             value: false, | ||||
|         }, | ||||
|         rootPortal: { | ||||
|             type: Boolean, | ||||
|             value: false, | ||||
|         }, | ||||
|     }, | ||||
|     data: { | ||||
|         transition: true, | ||||
|         showPopup: false, | ||||
|         showWrapper: false, | ||||
|         displayTitle: '', | ||||
|         safeAreaTabBar: false, | ||||
|     }, | ||||
|     methods: { | ||||
|         rerender: function () { | ||||
|             var _this = this; | ||||
|             wx.nextTick(function () { | ||||
|                 var _a; | ||||
|                 (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.updateItemListData(); | ||||
|             }); | ||||
|         }, | ||||
|         updateDataFromParent: function () { | ||||
|             if (this.parent) { | ||||
|                 var _a = this.parent.data, overlay = _a.overlay, duration = _a.duration, activeColor = _a.activeColor, closeOnClickOverlay = _a.closeOnClickOverlay, direction = _a.direction, safeAreaTabBar = _a.safeAreaTabBar; | ||||
|                 this.setData({ | ||||
|                     overlay: overlay, | ||||
|                     duration: duration, | ||||
|                     activeColor: activeColor, | ||||
|                     closeOnClickOverlay: closeOnClickOverlay, | ||||
|                     direction: direction, | ||||
|                     safeAreaTabBar: safeAreaTabBar, | ||||
|                 }); | ||||
|             } | ||||
|         }, | ||||
|         onOpen: function () { | ||||
|             this.$emit('open'); | ||||
|         }, | ||||
|         onOpened: function () { | ||||
|             this.$emit('opened'); | ||||
|         }, | ||||
|         onClose: function () { | ||||
|             this.$emit('close'); | ||||
|         }, | ||||
|         onClosed: function () { | ||||
|             this.$emit('closed'); | ||||
|             this.setData({ showWrapper: false }); | ||||
|         }, | ||||
|         onOptionTap: function (event) { | ||||
|             var option = event.currentTarget.dataset.option; | ||||
|             var value = option.value; | ||||
|             var shouldEmitChange = this.data.value !== value; | ||||
|             this.setData({ showPopup: false, value: value }); | ||||
|             this.$emit('close'); | ||||
|             this.rerender(); | ||||
|             if (shouldEmitChange) { | ||||
|                 this.$emit('change', value); | ||||
|             } | ||||
|         }, | ||||
|         toggle: function (show, options) { | ||||
|             var _this = this; | ||||
|             if (options === void 0) { options = {}; } | ||||
|             var showPopup = this.data.showPopup; | ||||
|             if (typeof show !== 'boolean') { | ||||
|                 show = !showPopup; | ||||
|             } | ||||
|             if (show === showPopup) { | ||||
|                 return; | ||||
|             } | ||||
|             this.onBeforeToggle(show).then(function (status) { | ||||
|                 var _a; | ||||
|                 if (!status) { | ||||
|                     return; | ||||
|                 } | ||||
|                 _this.setData({ | ||||
|                     transition: !options.immediate, | ||||
|                     showPopup: show, | ||||
|                 }); | ||||
|                 if (show) { | ||||
|                     (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.getChildWrapperStyle().then(function (wrapperStyle) { | ||||
|                         _this.setData({ wrapperStyle: wrapperStyle, showWrapper: true }); | ||||
|                         _this.rerender(); | ||||
|                     }); | ||||
|                 } | ||||
|                 else { | ||||
|                     _this.rerender(); | ||||
|                 } | ||||
|             }); | ||||
|         }, | ||||
|         onBeforeToggle: function (status) { | ||||
|             var _this = this; | ||||
|             var useBeforeToggle = this.data.useBeforeToggle; | ||||
|             if (!useBeforeToggle) { | ||||
|                 return Promise.resolve(true); | ||||
|             } | ||||
|             return new Promise(function (resolve) { | ||||
|                 _this.$emit('before-toggle', { | ||||
|                     status: status, | ||||
|                     callback: function (value) { return resolve(value); }, | ||||
|                 }); | ||||
|             }); | ||||
|         }, | ||||
|     }, | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user