diff --git a/src/components/date-picker/base/month-table.vue b/src/components/date-picker/base/month-table.vue index 18d66358..78f51edc 100644 --- a/src/components/date-picker/base/month-table.vue +++ b/src/components/date-picker/base/month-table.vue @@ -13,7 +13,10 @@ month: { type: Number }, - disabledDate: {} + disabledDate: {}, + selectionMode: { + default: 'month' + } }, computed: { classes () { @@ -36,7 +39,7 @@ const date = new Date(this.date); date.setMonth(i); - cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date); + cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date) && this.selectionMode === 'month'; cell.selected = Number(this.month) === i; cells.push(cell); diff --git a/src/components/date-picker/base/year-table.vue b/src/components/date-picker/base/year-table.vue index 490d0d7e..1934372e 100644 --- a/src/components/date-picker/base/year-table.vue +++ b/src/components/date-picker/base/year-table.vue @@ -11,7 +11,10 @@ props: { date: {}, year: {}, - disabledDate: {} + disabledDate: {}, + selectionMode: { + default: 'year' + } }, computed: { classes () { @@ -37,7 +40,7 @@ const date = new Date(this.date); date.setFullYear(cell.text); - cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date); + cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date) && this.selectionMode === 'year'; cell.selected = Number(this.year) === cell.text; cells.push(cell); diff --git a/src/components/date-picker/panel/date.vue b/src/components/date-picker/panel/date.vue index 818accd5..e4ed9231 100644 --- a/src/components/date-picker/panel/date.vue +++ b/src/components/date-picker/panel/date.vue @@ -37,7 +37,6 @@ :month="month" :date="date" :value="value" - :week="week" :selection-mode="selectionMode" :disabled-date="disabledDate" @on-pick="handleDatePick"> @@ -46,6 +45,7 @@ v-show="currentView === 'year'" :year="year" :date="date" + :selection-mode="selectionMode" :disabled-date="disabledDate" @on-pick="handleYearPick"> @@ -85,7 +86,6 @@ disabledDate: '', year: null, month: null, - week: null, showWeekNumber: false, timePickerVisible: false } diff --git a/test/routers/date.vue b/test/routers/date.vue index 3313f1a5..dda379d5 100644 --- a/test/routers/date.vue +++ b/test/routers/date.vue @@ -29,6 +29,8 @@ // value: '', options: { disabledDate(time) { +// console.log(time) +// return time.getFullYear() < 2016; return time.getTime() < Date.now() - 8.64e7; // return time && time.valueOf() < Date.now(); }