| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | 
							- "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);
 
-         },
 
-     },
 
- });
 
 
  |