// nova-tourism/components/calendar/index.js Component({ /** * 组件的属性列表 */ properties: { show:{ type:Boolean, default: false }, title: { type: String, value: '日期选择', }, color: String, formatter: null, // defaultDate: { // type: null, // observer: function (val) { // this.setData({ currentDate: val }); // this.scrollIntoView(); // }, // }, }, created: function () { this.setData({ currentDate: this.getInitialDate(this.defaultDate), }); }, /** * 组件的初始数据 */ data: { subtitle: '', currentDate: null, scrollIntoView: '', startTime:'', endTime: '' }, /** * 组件的方法列表 */ methods: { getInitialDate: function(defaultDate){ let now = new Date() let currentYear = now.getFullYear(); let currentMonth = now.getMonth()+1; let currentDay = now.getDay(); // let months = if(!defaultDate){ } }, getInitialDate: function (defaultDate) { var _this = this; if (defaultDate === void 0) {// defaultDate 为undefined defaultDate = null; } let {type,minDate,maxDate} = this.data; var now = utils_1.getToday().getTime(); if (type === 'range') { if (!Array.isArray(defaultDate)) { defaultDate = []; } var _b = defaultDate || [], startDay = _b[0], endDay = _b[1]; var start = this.limitDateRange( startDay || now, minDate, utils_1.getPrevDay(new Date(maxDate)).getTime() ); var end = this.limitDateRange( endDay || now, utils_1.getNextDay(new Date(minDate)).getTime() ); return [start, end]; } if (type === 'multiple') { if (Array.isArray(defaultDate)) { return defaultDate.map(function (date) { return _this.limitDateRange(date); }); } return [this.limitDateRange(now)]; } if (!defaultDate || Array.isArray(defaultDate)) { defaultDate = now; } return this.limitDateRange(defaultDate); }, emit: function (date) { var getTime = function (date) { return date instanceof Date ? date.getTime() : date; }; this.setData({ currentDate: Array.isArray(date) ? date.map(getTime) : getTime(date), }); this.$emit('select', utils_1.copyDates(date)); }, } })