123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <template>
- <uni-shadow-root class="vant-picker-column-index"><view class="van-picker-column custom-class" :style="'height: '+(itemHeight * visibleItemCount)+'px'" @touchstart="onTouchStart" @touchmove.stop.prevent="onTouchMove" @touchend="onTouchEnd" @touchcancel="onTouchEnd">
- <view :style="wrapperStyle">
- <view v-for="(option,index) in (options)" :key="option.index" :data-index="index" :style="'height: '+(itemHeight)+'px'" :class="'van-ellipsis van-picker-column__item '+(option && option.disabled ? 'van-picker-column__item--disabled' : '')+' '+(index === currentIndex ? 'van-picker-column__item--selected active-class' : '')" @click="onClickItem">{{ getOptionText(option, valueKey) }}</view>
- </view>
- </view></uni-shadow-root>
- </template>
- <wxs src="./index.wxs" module="getOptionText"></wxs>
- <script>
- global['__wxRoute'] = 'vant/picker-column/index'
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var component_1 = require('./../common/component.js');
- var utils_1 = require('./../common/utils.js');
- var DEFAULT_DURATION = 200;
- component_1.VantComponent({
- classes: ['active-class'],
- props: {
- valueKey: String,
- className: String,
- itemHeight: Number,
- visibleItemCount: Number,
- initialOptions: {
- type: Array,
- value: []
- },
- defaultIndex: {
- type: Number,
- value: 0
- }
- },
- data: {
- startY: 0,
- offset: 0,
- duration: 0,
- startOffset: 0,
- options: [],
- currentIndex: 0
- },
- created: function created() {
- var _this = this;
- var _a = this.data,
- defaultIndex = _a.defaultIndex,
- initialOptions = _a.initialOptions;
- this.set({
- currentIndex: defaultIndex,
- options: initialOptions
- }).then(function () {
- _this.setIndex(defaultIndex);
- });
- },
- computed: {
- count: function count() {
- return this.data.options.length;
- },
- baseOffset: function baseOffset() {
- var data = this.data;
- return data.itemHeight * (data.visibleItemCount - 1) / 2;
- },
- wrapperStyle: function wrapperStyle() {
- var data = this.data;
- return ["transition: " + data.duration + "ms", "transform: translate3d(0, " + (data.offset + data.baseOffset) + "px, 0)", "line-height: " + data.itemHeight + "px"].join('; ');
- }
- },
- watch: {
- defaultIndex: function defaultIndex(value) {
- this.setIndex(value);
- }
- },
- methods: {
- onTouchStart: function onTouchStart(event) {
- this.set({
- startY: event.touches[0].clientY,
- startOffset: this.data.offset,
- duration: 0
- });
- },
- onTouchMove: function onTouchMove(event) {
- var data = this.data;
- var deltaY = event.touches[0].clientY - data.startY;
- this.set({
- offset: utils_1.range(data.startOffset + deltaY, -(data.count * data.itemHeight), data.itemHeight)
- });
- },
- onTouchEnd: function onTouchEnd() {
- var data = this.data;
- if (data.offset !== data.startOffset) {
- this.set({
- duration: DEFAULT_DURATION
- });
- var index = utils_1.range(Math.round(-data.offset / data.itemHeight), 0, data.count - 1);
- this.setIndex(index, true);
- }
- },
- onClickItem: function onClickItem(event) {
- var index = event.currentTarget.dataset.index;
- this.setIndex(index, true);
- },
- adjustIndex: function adjustIndex(index) {
- var data = this.data;
- index = utils_1.range(index, 0, data.count);
- for (var i = index; i < data.count; i++) {
- if (!this.isDisabled(data.options[i])) return i;
- }
- for (var i = index - 1; i >= 0; i--) {
- if (!this.isDisabled(data.options[i])) return i;
- }
- },
- isDisabled: function isDisabled(option) {
- return utils_1.isObj(option) && option.disabled;
- },
- getOptionText: function getOptionText(option) {
- var data = this.data;
- return utils_1.isObj(option) && data.valueKey in option ? option[data.valueKey] : option;
- },
- setIndex: function setIndex(index, userAction) {
- var _this = this;
- var data = this.data;
- index = this.adjustIndex(index) || 0;
- var offset = -index * data.itemHeight;
- if (index !== data.currentIndex) {
- return this.set({ offset: offset, currentIndex: index }).then(function () {
- userAction && _this.$emit('change', index);
- });
- }
- return this.set({ offset: offset });
- },
- setValue: function setValue(value) {
- var options = this.data.options;
- for (var i = 0; i < options.length; i++) {
- if (this.getOptionText(options[i]) === value) {
- return this.setIndex(i);
- }
- }
- return Promise.resolve();
- },
- getValue: function getValue() {
- var data = this.data;
- return data.options[data.currentIndex];
- }
- }
- });
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwidXRpbHNfMSIsIkRFRkFVTFRfRFVSQVRJT04iLCJjbGFzc2VzIiwicHJvcHMiLCJ2YWx1ZUtleSIsImNsYXNzTmFtZSIsIml0ZW1IZWlnaHQiLCJ2aXNpYmxlSXRlbUNvdW50IiwiaW5pdGlhbE9wdGlvbnMiLCJ0eXBlIiwiZGVmYXVsdEluZGV4IiwiZGF0YSIsInN0YXJ0WSIsIm9mZnNldCIsImR1cmF0aW9uIiwic3RhcnRPZmZzZXQiLCJvcHRpb25zIiwiY3VycmVudEluZGV4IiwiY3JlYXRlZCIsIl90aGlzIiwiX2EiLCJjb21wdXRlZCIsImNvdW50IiwiYmFzZU9mZnNldCIsIndyYXBwZXJTdHlsZSIsIndhdGNoIiwibWV0aG9kcyIsIm9uVG91Y2hTdGFydCIsImV2ZW50Iiwib25Ub3VjaE1vdmUiLCJkZWx0YVkiLCJvblRvdWNoRW5kIiwiaW5kZXgiLCJNYXRoIiwib25DbGlja0l0ZW0iLCJhZGp1c3RJbmRleCIsImkiLCJpc0Rpc2FibGVkIiwib3B0aW9uIiwiZ2V0T3B0aW9uVGV4dCIsInNldEluZGV4IiwidXNlckFjdGlvbiIsInNldFZhbHVlIiwiUHJvbWlzZSIsImdldFZhbHVlIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsY0FBY0MsUUFBbEIsMEJBQWtCQSxDQUFsQjtBQUNBLElBQUlDLFVBQVVELFFBQWQsc0JBQWNBLENBQWQ7QUFDQSxJQUFJRSxtQkFBSixHQUFBO0FBQ0FILFlBQUFBLGFBQUFBLENBQTBCO0FBQ3RCSSxhQUFTLENBRGEsY0FDYixDQURhO0FBRXRCQyxXQUFPO0FBQ0hDLGtCQURHLE1BQUE7QUFFSEMsbUJBRkcsTUFBQTtBQUdIQyxvQkFIRyxNQUFBO0FBSUhDLDBCQUpHLE1B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QkFBSWpDLE9BQU8sS0FBWCxJQUFBO0FBQ0EsbUJBQU9BLEtBQUFBLE9BQUFBLENBQWFBLEtBQXBCLFlBQU9BLENBQVA7QUFDSDtBQTFFSTtBQXhEYSxDQUExQmIiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb21wb25lbnRfMSA9IHJlcXVpcmUoXCIuLi9jb21tb24vY29tcG9uZW50XCIpO1xudmFyIHV0aWxzXzEgPSByZXF1aXJlKFwiLi4vY29tbW9uL3V0aWxzXCIpO1xudmFyIERFRkFVTFRfRFVSQVRJT04gPSAyMDA7XG5jb21wb25lbnRfMS5WYW50Q29tcG9uZW50KHtcbiAgICBjbGFzc2VzOiBbJ2FjdGl2ZS1jbGFzcyddLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHZhbHVlS2V5OiBTdHJpbmcsXG4gICAgICAgIGNsYXNzTmFtZTogU3RyaW5nLFxuICAgICAgICBpdGVtSGVpZ2h0OiBOdW1iZXIsXG4gICAgICAgIHZpc2libGVJdGVtQ291bnQ6IE51bWJlcixcbiAgICAgICAgaW5pdGlhbE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgdmFsdWU6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRJbmRleDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDBcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YToge1xuICAgICAgICBzdGFydFk6IDAsXG4gICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgZHVyYXRpb246IDAsXG4gICAgICAgIHN0YXJ0T2Zmc2V0OiAwLFxuICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgY3VycmVudEluZGV4OiAwXG4gICAgfSxcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBfYSA9IHRoaXMuZGF0YSwgZGVmYXVsdEluZGV4ID0gX2EuZGVmYXVsdEluZGV4LCBpbml0aWFsT3B0aW9ucyA9IF9hLmluaXRpYWxPcHRpb25zO1xuICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICBjdXJyZW50SW5kZXg6IGRlZmF1bHRJbmRleCxcbiAgICAgICAgICAgIG9wdGlvbnM6IGluaXRpYWxPcHRpb25zXG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMuc2V0SW5kZXgoZGVmYXVsdEluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjb3VudDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmxlbmd0aDtcbiAgICAgICAgfSxcbiAgICAgICAgYmFzZU9mZnNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICByZXR1cm4gKGRhdGEuaXRlbUhlaWdodCAqIChkYXRhLnZpc2libGVJdGVtQ291bnQgLSAxKSkgLyAyO1xuICAgICAgICB9LFxuICAgICAgICB3cmFwcGVyU3R5bGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICBcInRyYW5zaXRpb246IFwiICsgZGF0YS5kdXJhdGlvbiArIFwibXNcIixcbiAgICAgICAgICAgICAgICBcInRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgXCIgKyAoZGF0YS5vZmZzZXQgKyBkYXRhLmJhc2VPZmZzZXQpICsgXCJweCwgMClcIixcbiAgICAgICAgICAgICAgICBcImxpbmUtaGVpZ2h0OiBcIiArIGRhdGEuaXRlbUhlaWdodCArIFwicHhcIlxuICAgICAgICAgICAgXS5qb2luKCc7ICcpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBkZWZhdWx0SW5kZXg6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRJbmRleCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICBzdGFydFk6IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgICAgICAgICAgICBzdGFydE9mZnNldDogdGhpcy5kYXRhLm9mZnNldCxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uVG91Y2hNb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgdmFyIGRlbHRhWSA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSAtIGRhdGEuc3RhcnRZO1xuICAgICAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgICAgIG9mZnNldDogdXRpbHNfMS5yYW5nZShkYXRhLnN0YXJ0T2Zmc2V0ICsgZGVsdGFZLCAtKGRhdGEuY291bnQgKiBkYXRhLml0ZW1IZWlnaHQpLCBkYXRhLml0ZW1IZWlnaHQpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ub3VjaEVuZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICBpZiAoZGF0YS5vZmZzZXQgIT09IGRhdGEuc3RhcnRPZmZzZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBERUZBVUxUX0RVUkFUSU9OXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gdXRpbHNfMS5yYW5nZShNYXRoLnJvdW5kKC1kYXRhLm9mZnNldCAvIGRhdGEuaXRlbUhlaWdodCksIDAsIGRhdGEuY291bnQgLSAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluZGV4KGluZGV4LCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25DbGlja0l0ZW06IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gZXZlbnQuY3VycmVudFRhcmdldC5kYXRhc2V0LmluZGV4O1xuICAgICAgICAgICAgdGhpcy5zZXRJbmRleChpbmRleCwgdHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFkanVzdEluZGV4OiBmdW5jdGlvbiAoaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgaW5kZXggPSB1dGlsc18xLnJhbmdlKGluZGV4LCAwLCBkYXRhLmNvdW50KTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSBpbmRleDsgaSA8IGRhdGEuY291bnQ7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKGRhdGEub3B0aW9uc1tpXSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGluZGV4IC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZChkYXRhLm9wdGlvbnNbaV0pKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaXNEaXNhYmxlZDogZnVuY3Rpb24gKG9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHV0aWxzXzEuaXNPYmoob3B0aW9uKSAmJiBvcHRpb24uZGlzYWJsZWQ7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE9wdGlvblRleHQ6IGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgcmV0dXJuIHV0aWxzXzEuaXNPYmoob3B0aW9uKSAmJiBkYXRhLnZhbHVlS2V5IGluIG9wdGlvblxuICAgICAgICAgICAgICAgID8gb3B0aW9uW2RhdGEudmFsdWVLZXldXG4gICAgICAgICAgICAgICAgOiBvcHRpb247XG4gICAgICAgIH0sXG4gICAgICAgIHNldEluZGV4OiBmdW5jdGlvbiAoaW5kZXgsIHVzZXJBY3Rpb24pIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgICAgIGluZGV4ID0gdGhpcy5hZGp1c3RJbmRleChpbmRleCkgfHwgMDtcbiAgICAgICAgICAgIHZhciBvZmZzZXQgPSAtaW5kZXggKiBkYXRhLml0ZW1IZWlnaHQ7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IGRhdGEuY3VycmVudEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0KHsgb2Zmc2V0OiBvZmZzZXQsIGN1cnJlbnRJbmRleDogaW5kZXggfSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJBY3Rpb24gJiYgX3RoaXMuJGVtaXQoJ2NoYW5nZScsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldCh7IG9mZnNldDogb2Zmc2V0IH0pO1xuICAgICAgICB9LFxuICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHRoaXMuZGF0YS5vcHRpb25zO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZ2V0T3B0aW9uVGV4dChvcHRpb25zW2ldKSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SW5kZXgoaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRWYWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5vcHRpb25zW2RhdGEuY3VycmVudEluZGV4XTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIl0sImZpbGUiOiJpbmRleC5qcyJ9
- export default global['__wxComponents']['vant/picker-column/index']
- </script>
- <style platform="mp-weixin">
- @import '../common/index.css';.van-picker-column{overflow:hidden;font-size:16px;color:#999;text-align:center}.van-picker-column__item{padding:0 5px}.van-picker-column__item--selected{font-weight:500;color:#333}.van-picker-column__item--disabled{opacity:.3}
- </style>
|