开始做登录
This commit is contained in:
		
							
								
								
									
										161
									
								
								miniprogram_npm/@vant/weapp/picker/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								miniprogram_npm/@vant/weapp/picker/index.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,161 @@ | ||||
| "use strict"; | ||||
| var __assign = (this && this.__assign) || function () { | ||||
|     __assign = Object.assign || function(t) { | ||||
|         for (var s, i = 1, n = arguments.length; i < n; i++) { | ||||
|             s = arguments[i]; | ||||
|             for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) | ||||
|                 t[p] = s[p]; | ||||
|         } | ||||
|         return t; | ||||
|     }; | ||||
|     return __assign.apply(this, arguments); | ||||
| }; | ||||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||||
| var component_1 = require("../common/component"); | ||||
| var shared_1 = require("./shared"); | ||||
| (0, component_1.VantComponent)({ | ||||
|     classes: ['active-class', 'toolbar-class', 'column-class'], | ||||
|     props: __assign(__assign({}, shared_1.pickerProps), { valueKey: { | ||||
|             type: String, | ||||
|             value: 'text', | ||||
|         }, toolbarPosition: { | ||||
|             type: String, | ||||
|             value: 'top', | ||||
|         }, defaultIndex: { | ||||
|             type: Number, | ||||
|             value: 0, | ||||
|         }, columns: { | ||||
|             type: Array, | ||||
|             value: [], | ||||
|             observer: function (columns) { | ||||
|                 if (columns === void 0) { columns = []; } | ||||
|                 this.simple = columns.length && !columns[0].values; | ||||
|                 if (Array.isArray(this.children) && this.children.length) { | ||||
|                     this.setColumns().catch(function () { }); | ||||
|                 } | ||||
|             }, | ||||
|         } }), | ||||
|     beforeCreate: function () { | ||||
|         var _this = this; | ||||
|         Object.defineProperty(this, 'children', { | ||||
|             get: function () { return _this.selectAllComponents('.van-picker__column') || []; }, | ||||
|         }); | ||||
|     }, | ||||
|     methods: { | ||||
|         noop: function () { }, | ||||
|         setColumns: function () { | ||||
|             var _this = this; | ||||
|             var data = this.data; | ||||
|             var columns = this.simple ? [{ values: data.columns }] : data.columns; | ||||
|             var stack = columns.map(function (column, index) { | ||||
|                 return _this.setColumnValues(index, column.values); | ||||
|             }); | ||||
|             return Promise.all(stack); | ||||
|         }, | ||||
|         emit: function (event) { | ||||
|             var type = event.currentTarget.dataset.type; | ||||
|             if (this.simple) { | ||||
|                 this.$emit(type, { | ||||
|                     value: this.getColumnValue(0), | ||||
|                     index: this.getColumnIndex(0), | ||||
|                 }); | ||||
|             } | ||||
|             else { | ||||
|                 this.$emit(type, { | ||||
|                     value: this.getValues(), | ||||
|                     index: this.getIndexes(), | ||||
|                 }); | ||||
|             } | ||||
|         }, | ||||
|         onChange: function (event) { | ||||
|             if (this.simple) { | ||||
|                 this.$emit('change', { | ||||
|                     picker: this, | ||||
|                     value: this.getColumnValue(0), | ||||
|                     index: this.getColumnIndex(0), | ||||
|                 }); | ||||
|             } | ||||
|             else { | ||||
|                 this.$emit('change', { | ||||
|                     picker: this, | ||||
|                     value: this.getValues(), | ||||
|                     index: event.currentTarget.dataset.index, | ||||
|                 }); | ||||
|             } | ||||
|         }, | ||||
|         // get column instance by index | ||||
|         getColumn: function (index) { | ||||
|             return this.children[index]; | ||||
|         }, | ||||
|         // get column value by index | ||||
|         getColumnValue: function (index) { | ||||
|             var column = this.getColumn(index); | ||||
|             return column && column.getValue(); | ||||
|         }, | ||||
|         // set column value by index | ||||
|         setColumnValue: function (index, value) { | ||||
|             var column = this.getColumn(index); | ||||
|             if (column == null) { | ||||
|                 return Promise.reject(new Error('setColumnValue: 对应列不存在')); | ||||
|             } | ||||
|             return column.setValue(value); | ||||
|         }, | ||||
|         // get column option index by column index | ||||
|         getColumnIndex: function (columnIndex) { | ||||
|             return (this.getColumn(columnIndex) || {}).data.currentIndex; | ||||
|         }, | ||||
|         // set column option index by column index | ||||
|         setColumnIndex: function (columnIndex, optionIndex) { | ||||
|             var column = this.getColumn(columnIndex); | ||||
|             if (column == null) { | ||||
|                 return Promise.reject(new Error('setColumnIndex: 对应列不存在')); | ||||
|             } | ||||
|             return column.setIndex(optionIndex); | ||||
|         }, | ||||
|         // get options of column by index | ||||
|         getColumnValues: function (index) { | ||||
|             return (this.children[index] || {}).data.options; | ||||
|         }, | ||||
|         // set options of column by index | ||||
|         setColumnValues: function (index, options, needReset) { | ||||
|             if (needReset === void 0) { needReset = true; } | ||||
|             var column = this.children[index]; | ||||
|             if (column == null) { | ||||
|                 return Promise.reject(new Error('setColumnValues: 对应列不存在')); | ||||
|             } | ||||
|             var isSame = JSON.stringify(column.data.options) === JSON.stringify(options); | ||||
|             if (isSame) { | ||||
|                 return Promise.resolve(); | ||||
|             } | ||||
|             return column.set({ options: options }).then(function () { | ||||
|                 if (needReset) { | ||||
|                     column.setIndex(0); | ||||
|                 } | ||||
|             }); | ||||
|         }, | ||||
|         // get values of all columns | ||||
|         getValues: function () { | ||||
|             return this.children.map(function (child) { return child.getValue(); }); | ||||
|         }, | ||||
|         // set values of all columns | ||||
|         setValues: function (values) { | ||||
|             var _this = this; | ||||
|             var stack = values.map(function (value, index) { | ||||
|                 return _this.setColumnValue(index, value); | ||||
|             }); | ||||
|             return Promise.all(stack); | ||||
|         }, | ||||
|         // get indexes of all columns | ||||
|         getIndexes: function () { | ||||
|             return this.children.map(function (child) { return child.data.currentIndex; }); | ||||
|         }, | ||||
|         // set indexes of all columns | ||||
|         setIndexes: function (indexes) { | ||||
|             var _this = this; | ||||
|             var stack = indexes.map(function (optionIndex, columnIndex) { | ||||
|                 return _this.setColumnIndex(columnIndex, optionIndex); | ||||
|             }); | ||||
|             return Promise.all(stack); | ||||
|         }, | ||||
|     }, | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user