直播软件app开发,vant 时间选择控件修订为只显示年份

直播软件app开发,vant 时间选择控件修订为只显示年份

 

1
import _extends from "@babel/runtime/helpers/esm/extends";<br>import { createNamespace } from '../utils';<br>import { isDate } from '../utils/validate/date';<br>import { padZero } from '../utils/format/string';<br>import { getTrueValue, getMonthEndDay } from './utils';<br>import { sharedProps, TimePickerMixin } from './shared';<br>var currentYear = new Date().getFullYear();<br>var _createNamespace = createNamespace('date-picker'),<br>    createComponent = _createNamespace[0];<br>export default createComponent({<br>  mixins: [TimePickerMixin],<br>  props: _extends({}, sharedProps, {<br>    type: {<br>      type: String,<br>      default: 'datetime'<br>    },<br>    minDate: {<br>      type: Date,<br>      default: function _default() {<br>        return new Date(currentYear - 10, 0, 1);<br>      },<br>      validator: isDate<br>    },<br>    maxDate: {<br>      type: Date,<br>      default: function _default() {<br>        return new Date(currentYear + 10, 11, 31);<br>      },<br>      validator: isDate<br>    }<br>  }),<br>  watch: {<br>    filter: 'updateInnerValue',<br>    minDate: 'updateInnerValue',<br>    maxDate: 'updateInnerValue',<br>    value: function value(val) {<br>      val = this.formatValue(val);<br>      if (val.valueOf() !== this.innerValue.valueOf()) {<br>        this.innerValue = val;<br>      }<br>    }<br>  },<br>  computed: {<br>    ranges: function ranges() {<br>      var _this$getBoundary = this.getBoundary('max', this.innerValue),<br>          maxYear = _this$getBoundary.maxYear,<br>          maxDate = _this$getBoundary.maxDate,<br>          maxMonth = _this$getBoundary.maxMonth,<br>          maxHour = _this$getBoundary.maxHour,<br>          maxMinute = _this$getBoundary.maxMinute;<br>      var _this$getBoundary2 = this.getBoundary('min', this.innerValue),<br>          minYear = _this$getBoundary2.minYear,<br>          minDate = _this$getBoundary2.minDate,<br>          minMonth = _this$getBoundary2.minMonth,<br>          minHour = _this$getBoundary2.minHour,<br>          minMinute = _this$getBoundary2.minMinute;<br>      var result = [{<br>        type: 'year',<br>        range: [minYear, maxYear]<br>      }, {<br>        type: 'month',<br>        range: [minMonth, maxMonth]<br>      }, {<br>        type: 'day',<br>        range: [minDate, maxDate]<br>      }, {<br>        type: 'hour',<br>        range: [minHour, maxHour]<br>      }, {<br>        type: 'minute',<br>        range: [minMinute, maxMinute]<br>      }];<br>      switch (this.type) {<br>        case 'date':<br>          result = result.slice(0, 3);<br>          break;<br>        case 'year-month':<br>          result = result.slice(0, 2);<br>          break;<br>        case 'month-day':<br>          result = result.slice(1, 3);<br>          break;<br>        case 'datehour':<br>          result = result.slice(0, 4);<br>          break;<br>//修订这里<br>        case 'year':<br>          result = result.slice(0,1);<br>          break;<br>      }<br>      if (this.columnsOrder) {<br>        var columnsOrder = this.columnsOrder.concat(result.map(function (column) {<br>          return column.type;<br>        }));<br>        result.sort(function (a, b) {<br>          return columnsOrder.indexOf(a.type) - columnsOrder.indexOf(b.type);<br>        });<br>      }<br>      return result;<br>    }<br>  },<br>  methods: {<br>    formatValue: function formatValue(value) {<br>      if (!isDate(value)) {<br>        value = this.minDate;<br>      }<br>      value = Math.max(value, this.minDate.getTime());<br>      value = Math.min(value, this.maxDate.getTime());<br>      return new Date(value);<br>    },<br>    getBoundary: function getBoundary(type, value) {<br>      var _ref;<br>      var boundary = this[type + "Date"];<br>      var year = boundary.getFullYear();<br>      var month = 1;<br>      var date = 1;<br>      var hour = 0;<br>      var minute = 0;<br>      if (type === 'max') {<br>        month = 12;<br>        date = getMonthEndDay(value.getFullYear(), value.getMonth() + 1);<br>        hour = 23;<br>        minute = 59;<br>      }<br>      if (value.getFullYear() === year) {<br>        month = boundary.getMonth() + 1;<br>        if (value.getMonth() + 1 === month) {<br>          date = boundary.getDate();<br>          if (value.getDate() === date) {<br>            hour = boundary.getHours();<br>            if (value.getHours() === hour) {<br>              minute = boundary.getMinutes();<br>            }<br>          }<br>        }<br>      }<br>      return _ref = {}, _ref[type + "Year"] = year, _ref[type + "Month"] = month, _ref[type + "Date"] = date, _ref[type + "Hour"] = hour, _ref[type + "Minute"] = minute, _ref;<br>    },<br>    updateInnerValue: function updateInnerValue() {<br>      var _this = this;<br>      var type = this.type;<br>      var indexes = this.getPicker().getIndexes();<br>      var getValue = function getValue(type) {<br>        var index = 0;<br>        _this.originColumns.forEach(function (column, columnIndex) {<br>          if (type === column.type) {<br>            index = columnIndex;<br>          }<br>        });<br>        var values = _this.originColumns[index].values;<br>        return getTrueValue(values[indexes[index]]);<br>      };<br>      var year;<br>      var month;<br>      var day;<br>      if (type === 'month-day') {<br>        year = this.innerValue.getFullYear();<br>        month = getValue('month');<br>        day = getValue('day');<br>      } else {<br>      //修订这里<br>        year = getValue('year');<br>        // month = getValue('month');<br>        month = type === 'year' ? 1 : getValue('month');<br>        day = type === 'year' ? 1 : getValue('day');<br>      }<br>      var maxDay = getMonthEndDay(year, month);<br>      day = day > maxDay ? maxDay : day;<br>      var hour = 0;<br>      var minute = 0;<br>      if (type === 'datehour') {<br>        hour = getValue('hour');<br>      }<br>      if (type === 'datetime') {<br>        hour = getValue('hour');<br>        minute = getValue('minute');<br>      }<br>      var value = new Date(year, month - 1, day, hour, minute);<br>      this.innerValue = this.formatValue(value);<br>    },<br>    onChange: function onChange(picker) {<br>      var _this2 = this;<br>      this.updateInnerValue();<br>      this.$nextTick(function () {<br>        _this2.$nextTick(function () {<br>          _this2.$emit('change', picker);<br>        });<br>      });<br>    },<br>    updateColumnValue: function updateColumnValue() {<br>      var _this3 = this;<br>      var value = this.innerValue;<br>      var formatter = this.formatter;<br>      var values = this.originColumns.map(function (column) {<br>        switch (column.type) {<br>          case 'year':<br>            return formatter('year', "" + value.getFullYear());<br>          case 'month':<br>            return formatter('month', padZero(value.getMonth() + 1));<br>          case 'day':<br>            return formatter('day', padZero(value.getDate()));<br>          case 'hour':<br>            return formatter('hour', padZero(value.getHours()));<br>          case 'minute':<br>            return formatter('minute', padZero(value.getMinutes()));<br>          default:<br>            // no default<br>            return null;<br>        }<br>      });<br>      this.$nextTick(function () {<br>        _this3.getPicker().setValues(values);<br>      });<br>    }<br>  }<br>});

以上就是直播软件app开发,vant 时间选择控件修订为只显示年份, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2021-12-15 app直播源码,android实现带下划线的密码输入框
2021-12-15 直播源码网站,js处理图片变形、方向、压缩等
2021-12-15 android短视频开发,点击静态图片自动跳转播放视频
点击右上角即可分享
微信分享提示