target/classes/static/plugins/element-ui/packages/calendar/src/date-table.vue
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<script>
import fecha from 'element-ui/src/utils/date';
import { range as rangeArr, getFirstDayOfMonth, getPrevMonthLastDays, getMonthDays, getI18nSettings, validateRangeInOneMonth } from 'element-ui/src/utils/date-util';
export default {
props: {
selectedDay: String, // formated date yyyy-MM-dd
range: {
type: Array,
validator(val) {
if (!(val && val.length)) return true;
const [start, end] = val;
return validateRangeInOneMonth(start, end);
}
},
date: Date,
hideHeader: Boolean,
firstDayOfWeek: Number
},
inject: ['elCalendar'],
data() {
return {
WEEK_DAYS: getI18nSettings().dayNames
};
},
methods: {
toNestedArr(days) {
return rangeArr(days.length / 7).map((_, index) => {
const start = index * 7;
return days.slice(start, start + 7);
});
},
getFormateDate(day, type) {
if (!day || ['prev', 'current', 'next'].indexOf(type) === -1) {
throw new Error('invalid day or type');
}
let prefix = this.curMonthDatePrefix;
if (type === 'prev') {
prefix = this.prevMonthDatePrefix;
} else if (type === 'next') {
prefix = this.nextMonthDatePrefix;
}
day = `00${day}`.slice(-2);
return `${prefix}-${day}`;
},
getCellClass({ text, type}) {
const classes = [type];
if (type === 'current') {
const date = this.getFormateDate(text, type);
if (date === this.selectedDay) {
classes.push('is-selected');
}
if (date === this.formatedToday) {
classes.push('is-today');
}
后面还有 142 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
