直播软件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 时间选择控件修订为只显示年份, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-12-15 app直播源码,android实现带下划线的密码输入框
2021-12-15 直播源码网站,js处理图片变形、方向、压缩等
2021-12-15 android短视频开发,点击静态图片自动跳转播放视频