1、前言
学习Vue已经有很长一段时间了,也刚刚完成了一个Vue移动端项目,后面会陆续将个人在刚刚完成的这个Vue项目中碰到的坑进行汇总,然后以blog的形式分享出来。
2、vue的日期控制,第三方有很多,但只有年月选择的就很少,我在网上找,就没找到,然后自已就动改直接改造了,改造后的效果如下:
3、我选择的第三方控件是datepicker.vue
<template>
<div class="vue-datepicker">
<input @click.stop="selectYear=!selectYear" :value="current | dateFormat" type="text" readonly>
<div v-if="selectYear" class="vue-datepicker-wrap">
<div class="vue-datepicker-header" @click.stop="">
<span @click.stop="switchMonth(-1)" class="vue-datepicker-header-btn vue-datepicker-header-btn-pre"><</span>
<span @click.stop="selectYear=!selectYear"
class="vue-datepicker-header-btn vue-datepicker-header-btn-day">
{
{
select.year}} 年 {
{
select.month}} 月
</span>
<span @click.stop="switchMonth(1)" class="vue-datepicker-header-btn vue-datepicker-header-btn-next">></span>
</div>
<div class="vue-datepicker-content">
<table>
<thead>
<th>日</th>
<th>一</th>
<th>二</th>
<th>三</th>
<th>四</th>
<th>五</th>
<th>六</th>
</thead>
<tbody>
<tr v-for="week of list">
<!--<td v-for="weekday of week" @click="pick(weekday)"-->
<td v-for="weekday of week"
:class="{
'flag': weekday.flag,
'active': !weekday.flag && weekday.text == current.date
&& select.month == current.month && select.year == current.year}">
{
{
weekday.text}}
</td>
</tr>
</tbody>
</table>
<div v-if="selectYear" class="vue-date-picker-year-panel">
<ul ref="year">
<li v-for="y of years" @click.stop="pickYear(y)" :class="{'active': y == select.year}">{
{
y}}</li>
</ul>
<ul ref="month">
<li v-for="(m, $index) of months"
@