index.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <template>
  2. <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">
  3. <view :style="wrapperStyle">
  4. <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>
  5. </view>
  6. </view></uni-shadow-root>
  7. </template>
  8. <wxs src="./index.wxs" module="getOptionText"></wxs>
  9. <script>
  10. global['__wxRoute'] = 'vant/picker-column/index'
  11. "use strict";
  12. Object.defineProperty(exports, "__esModule", { value: true });
  13. var component_1 = require('./../common/component.js');
  14. var utils_1 = require('./../common/utils.js');
  15. var DEFAULT_DURATION = 200;
  16. component_1.VantComponent({
  17. classes: ['active-class'],
  18. props: {
  19. valueKey: String,
  20. className: String,
  21. itemHeight: Number,
  22. visibleItemCount: Number,
  23. initialOptions: {
  24. type: Array,
  25. value: []
  26. },
  27. defaultIndex: {
  28. type: Number,
  29. value: 0
  30. }
  31. },
  32. data: {
  33. startY: 0,
  34. offset: 0,
  35. duration: 0,
  36. startOffset: 0,
  37. options: [],
  38. currentIndex: 0
  39. },
  40. created: function created() {
  41. var _this = this;
  42. var _a = this.data,
  43. defaultIndex = _a.defaultIndex,
  44. initialOptions = _a.initialOptions;
  45. this.set({
  46. currentIndex: defaultIndex,
  47. options: initialOptions
  48. }).then(function () {
  49. _this.setIndex(defaultIndex);
  50. });
  51. },
  52. computed: {
  53. count: function count() {
  54. return this.data.options.length;
  55. },
  56. baseOffset: function baseOffset() {
  57. var data = this.data;
  58. return data.itemHeight * (data.visibleItemCount - 1) / 2;
  59. },
  60. wrapperStyle: function wrapperStyle() {
  61. var data = this.data;
  62. return ["transition: " + data.duration + "ms", "transform: translate3d(0, " + (data.offset + data.baseOffset) + "px, 0)", "line-height: " + data.itemHeight + "px"].join('; ');
  63. }
  64. },
  65. watch: {
  66. defaultIndex: function defaultIndex(value) {
  67. this.setIndex(value);
  68. }
  69. },
  70. methods: {
  71. onTouchStart: function onTouchStart(event) {
  72. this.set({
  73. startY: event.touches[0].clientY,
  74. startOffset: this.data.offset,
  75. duration: 0
  76. });
  77. },
  78. onTouchMove: function onTouchMove(event) {
  79. var data = this.data;
  80. var deltaY = event.touches[0].clientY - data.startY;
  81. this.set({
  82. offset: utils_1.range(data.startOffset + deltaY, -(data.count * data.itemHeight), data.itemHeight)
  83. });
  84. },
  85. onTouchEnd: function onTouchEnd() {
  86. var data = this.data;
  87. if (data.offset !== data.startOffset) {
  88. this.set({
  89. duration: DEFAULT_DURATION
  90. });
  91. var index = utils_1.range(Math.round(-data.offset / data.itemHeight), 0, data.count - 1);
  92. this.setIndex(index, true);
  93. }
  94. },
  95. onClickItem: function onClickItem(event) {
  96. var index = event.currentTarget.dataset.index;
  97. this.setIndex(index, true);
  98. },
  99. adjustIndex: function adjustIndex(index) {
  100. var data = this.data;
  101. index = utils_1.range(index, 0, data.count);
  102. for (var i = index; i < data.count; i++) {
  103. if (!this.isDisabled(data.options[i])) return i;
  104. }
  105. for (var i = index - 1; i >= 0; i--) {
  106. if (!this.isDisabled(data.options[i])) return i;
  107. }
  108. },
  109. isDisabled: function isDisabled(option) {
  110. return utils_1.isObj(option) && option.disabled;
  111. },
  112. getOptionText: function getOptionText(option) {
  113. var data = this.data;
  114. return utils_1.isObj(option) && data.valueKey in option ? option[data.valueKey] : option;
  115. },
  116. setIndex: function setIndex(index, userAction) {
  117. var _this = this;
  118. var data = this.data;
  119. index = this.adjustIndex(index) || 0;
  120. var offset = -index * data.itemHeight;
  121. if (index !== data.currentIndex) {
  122. return this.set({ offset: offset, currentIndex: index }).then(function () {
  123. userAction && _this.$emit('change', index);
  124. });
  125. }
  126. return this.set({ offset: offset });
  127. },
  128. setValue: function setValue(value) {
  129. var options = this.data.options;
  130. for (var i = 0; i < options.length; i++) {
  131. if (this.getOptionText(options[i]) === value) {
  132. return this.setIndex(i);
  133. }
  134. }
  135. return Promise.resolve();
  136. },
  137. getValue: function getValue() {
  138. var data = this.data;
  139. return data.options[data.currentIndex];
  140. }
  141. }
  142. });
  143. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwidXRpbHNfMSIsIkRFRkFVTFRfRFVSQVRJT04iLCJjbGFzc2VzIiwicHJvcHMiLCJ2YWx1ZUtleSIsImNsYXNzTmFtZSIsIml0ZW1IZWlnaHQiLCJ2aXNpYmxlSXRlbUNvdW50IiwiaW5pdGlhbE9wdGlvbnMiLCJ0eXBlIiwiZGVmYXVsdEluZGV4IiwiZGF0YSIsInN0YXJ0WSIsIm9mZnNldCIsImR1cmF0aW9uIiwic3RhcnRPZmZzZXQiLCJvcHRpb25zIiwiY3VycmVudEluZGV4IiwiY3JlYXRlZCIsIl90aGlzIiwiX2EiLCJjb21wdXRlZCIsImNvdW50IiwiYmFzZU9mZnNldCIsIndyYXBwZXJTdHlsZSIsIndhdGNoIiwibWV0aG9kcyIsIm9uVG91Y2hTdGFydCIsImV2ZW50Iiwib25Ub3VjaE1vdmUiLCJkZWx0YVkiLCJvblRvdWNoRW5kIiwiaW5kZXgiLCJNYXRoIiwib25DbGlja0l0ZW0iLCJhZGp1c3RJbmRleCIsImkiLCJpc0Rpc2FibGVkIiwib3B0aW9uIiwiZ2V0T3B0aW9uVGV4dCIsInNldEluZGV4IiwidXNlckFjdGlvbiIsInNldFZhbHVlIiwiUHJvbWlzZSIsImdldFZhbHVlIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsY0FBY0MsUUFBbEIsMEJBQWtCQSxDQUFsQjtBQUNBLElBQUlDLFVBQVVELFFBQWQsc0JBQWNBLENBQWQ7QUFDQSxJQUFJRSxtQkFBSixHQUFBO0FBQ0FILFlBQUFBLGFBQUFBLENBQTBCO0FBQ3RCSSxhQUFTLENBRGEsY0FDYixDQURhO0FBRXRCQyxXQUFPO0FBQ0hDLGtCQURHLE1BQUE7QUFFSEMsbUJBRkcsTUFBQTtBQUdIQyxvQkFIRyxNQUFBO0FBSUhDLDBCQUpHLE1B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QkFBSWpDLE9BQU8sS0FBWCxJQUFBO0FBQ0EsbUJBQU9BLEtBQUFBLE9BQUFBLENBQWFBLEtBQXBCLFlBQU9BLENBQVA7QUFDSDtBQTFFSTtBQXhEYSxDQUExQmIiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb21wb25lbnRfMSA9IHJlcXVpcmUoXCIuLi9jb21tb24vY29tcG9uZW50XCIpO1xudmFyIHV0aWxzXzEgPSByZXF1aXJlKFwiLi4vY29tbW9uL3V0aWxzXCIpO1xudmFyIERFRkFVTFRfRFVSQVRJT04gPSAyMDA7XG5jb21wb25lbnRfMS5WYW50Q29tcG9uZW50KHtcbiAgICBjbGFzc2VzOiBbJ2FjdGl2ZS1jbGFzcyddLFxuICAgIHByb3BzOiB7XG4gICAgICAgIHZhbHVlS2V5OiBTdHJpbmcsXG4gICAgICAgIGNsYXNzTmFtZTogU3RyaW5nLFxuICAgICAgICBpdGVtSGVpZ2h0OiBOdW1iZXIsXG4gICAgICAgIHZpc2libGVJdGVtQ291bnQ6IE51bWJlcixcbiAgICAgICAgaW5pdGlhbE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHR5cGU6IEFycmF5LFxuICAgICAgICAgICAgdmFsdWU6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRJbmRleDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDBcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZGF0YToge1xuICAgICAgICBzdGFydFk6IDAsXG4gICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgZHVyYXRpb246IDAsXG4gICAgICAgIHN0YXJ0T2Zmc2V0OiAwLFxuICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgY3VycmVudEluZGV4OiAwXG4gICAgfSxcbiAgICBjcmVhdGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgIHZhciBfYSA9IHRoaXMuZGF0YSwgZGVmYXVsdEluZGV4ID0gX2EuZGVmYXVsdEluZGV4LCBpbml0aWFsT3B0aW9ucyA9IF9hLmluaXRpYWxPcHRpb25zO1xuICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICBjdXJyZW50SW5kZXg6IGRlZmF1bHRJbmRleCxcbiAgICAgICAgICAgIG9wdGlvbnM6IGluaXRpYWxPcHRpb25zXG4gICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgX3RoaXMuc2V0SW5kZXgoZGVmYXVsdEluZGV4KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBjb21wdXRlZDoge1xuICAgICAgICBjb3VudDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5vcHRpb25zLmxlbmd0aDtcbiAgICAgICAgfSxcbiAgICAgICAgYmFzZU9mZnNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICByZXR1cm4gKGRhdGEuaXRlbUhlaWdodCAqIChkYXRhLnZpc2libGVJdGVtQ291bnQgLSAxKSkgLyAyO1xuICAgICAgICB9LFxuICAgICAgICB3cmFwcGVyU3R5bGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICBcInRyYW5zaXRpb246IFwiICsgZGF0YS5kdXJhdGlvbiArIFwibXNcIixcbiAgICAgICAgICAgICAgICBcInRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgXCIgKyAoZGF0YS5vZmZzZXQgKyBkYXRhLmJhc2VPZmZzZXQpICsgXCJweCwgMClcIixcbiAgICAgICAgICAgICAgICBcImxpbmUtaGVpZ2h0OiBcIiArIGRhdGEuaXRlbUhlaWdodCArIFwicHhcIlxuICAgICAgICAgICAgXS5qb2luKCc7ICcpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB3YXRjaDoge1xuICAgICAgICBkZWZhdWx0SW5kZXg6IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRJbmRleCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIG1ldGhvZHM6IHtcbiAgICAgICAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICBzdGFydFk6IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSxcbiAgICAgICAgICAgICAgICBzdGFydE9mZnNldDogdGhpcy5kYXRhLm9mZnNldCxcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uVG91Y2hNb3ZlOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgdmFyIGRlbHRhWSA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WSAtIGRhdGEuc3RhcnRZO1xuICAgICAgICAgICAgdGhpcy5zZXQoe1xuICAgICAgICAgICAgICAgIG9mZnNldDogdXRpbHNfMS5yYW5nZShkYXRhLnN0YXJ0T2Zmc2V0ICsgZGVsdGFZLCAtKGRhdGEuY291bnQgKiBkYXRhLml0ZW1IZWlnaHQpLCBkYXRhLml0ZW1IZWlnaHQpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ub3VjaEVuZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICBpZiAoZGF0YS5vZmZzZXQgIT09IGRhdGEuc3RhcnRPZmZzZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldCh7XG4gICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBERUZBVUxUX0RVUkFUSU9OXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdmFyIGluZGV4ID0gdXRpbHNfMS5yYW5nZShNYXRoLnJvdW5kKC1kYXRhLm9mZnNldCAvIGRhdGEuaXRlbUhlaWdodCksIDAsIGRhdGEuY291bnQgLSAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEluZGV4KGluZGV4LCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25DbGlja0l0ZW06IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gZXZlbnQuY3VycmVudFRhcmdldC5kYXRhc2V0LmluZGV4O1xuICAgICAgICAgICAgdGhpcy5zZXRJbmRleChpbmRleCwgdHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFkanVzdEluZGV4OiBmdW5jdGlvbiAoaW5kZXgpIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgaW5kZXggPSB1dGlsc18xLnJhbmdlKGluZGV4LCAwLCBkYXRhLmNvdW50KTtcbiAgICAgICAgICAgIGZvciAodmFyIGkgPSBpbmRleDsgaSA8IGRhdGEuY291bnQ7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKGRhdGEub3B0aW9uc1tpXSkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IGluZGV4IC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZChkYXRhLm9wdGlvbnNbaV0pKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaXNEaXNhYmxlZDogZnVuY3Rpb24gKG9wdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHV0aWxzXzEuaXNPYmoob3B0aW9uKSAmJiBvcHRpb24uZGlzYWJsZWQ7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE9wdGlvblRleHQ6IGZ1bmN0aW9uIChvcHRpb24pIHtcbiAgICAgICAgICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgICAgICAgICAgcmV0dXJuIHV0aWxzXzEuaXNPYmoob3B0aW9uKSAmJiBkYXRhLnZhbHVlS2V5IGluIG9wdGlvblxuICAgICAgICAgICAgICAgID8gb3B0aW9uW2RhdGEudmFsdWVLZXldXG4gICAgICAgICAgICAgICAgOiBvcHRpb247XG4gICAgICAgIH0sXG4gICAgICAgIHNldEluZGV4OiBmdW5jdGlvbiAoaW5kZXgsIHVzZXJBY3Rpb24pIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTtcbiAgICAgICAgICAgIGluZGV4ID0gdGhpcy5hZGp1c3RJbmRleChpbmRleCkgfHwgMDtcbiAgICAgICAgICAgIHZhciBvZmZzZXQgPSAtaW5kZXggKiBkYXRhLml0ZW1IZWlnaHQ7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IGRhdGEuY3VycmVudEluZGV4KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0KHsgb2Zmc2V0OiBvZmZzZXQsIGN1cnJlbnRJbmRleDogaW5kZXggfSkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJBY3Rpb24gJiYgX3RoaXMuJGVtaXQoJ2NoYW5nZScsIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldCh7IG9mZnNldDogb2Zmc2V0IH0pO1xuICAgICAgICB9LFxuICAgICAgICBzZXRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICB2YXIgb3B0aW9ucyA9IHRoaXMuZGF0YS5vcHRpb25zO1xuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZ2V0T3B0aW9uVGV4dChvcHRpb25zW2ldKSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SW5kZXgoaSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRWYWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5vcHRpb25zW2RhdGEuY3VycmVudEluZGV4XTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIl0sImZpbGUiOiJpbmRleC5qcyJ9
  144. export default global['__wxComponents']['vant/picker-column/index']
  145. </script>
  146. <style platform="mp-weixin">
  147. @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}
  148. </style>