update DatePicker

update DatePicker
This commit is contained in:
梁灏 2016-12-16 09:18:35 +08:00
parent 344131a7af
commit 13be443453
4 changed files with 14 additions and 6 deletions

View file

@ -13,7 +13,10 @@
month: { month: {
type: Number type: Number
}, },
disabledDate: {} disabledDate: {},
selectionMode: {
default: 'month'
}
}, },
computed: { computed: {
classes () { classes () {
@ -36,7 +39,7 @@
const date = new Date(this.date); const date = new Date(this.date);
date.setMonth(i); 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; cell.selected = Number(this.month) === i;
cells.push(cell); cells.push(cell);

View file

@ -11,7 +11,10 @@
props: { props: {
date: {}, date: {},
year: {}, year: {},
disabledDate: {} disabledDate: {},
selectionMode: {
default: 'year'
}
}, },
computed: { computed: {
classes () { classes () {
@ -37,7 +40,7 @@
const date = new Date(this.date); const date = new Date(this.date);
date.setFullYear(cell.text); 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; cell.selected = Number(this.year) === cell.text;
cells.push(cell); cells.push(cell);

View file

@ -37,7 +37,6 @@
:month="month" :month="month"
:date="date" :date="date"
:value="value" :value="value"
:week="week"
:selection-mode="selectionMode" :selection-mode="selectionMode"
:disabled-date="disabledDate" :disabled-date="disabledDate"
@on-pick="handleDatePick"></date-table> @on-pick="handleDatePick"></date-table>
@ -46,6 +45,7 @@
v-show="currentView === 'year'" v-show="currentView === 'year'"
:year="year" :year="year"
:date="date" :date="date"
:selection-mode="selectionMode"
:disabled-date="disabledDate" :disabled-date="disabledDate"
@on-pick="handleYearPick"></year-table> @on-pick="handleYearPick"></year-table>
<month-table <month-table
@ -53,6 +53,7 @@
v-show="currentView === 'month'" v-show="currentView === 'month'"
:month="month" :month="month"
:date="date" :date="date"
:selection-mode="selectionMode"
:disabled-date="disabledDate" :disabled-date="disabledDate"
@on-pick="handleMonthPick"></month-table> @on-pick="handleMonthPick"></month-table>
</div> </div>
@ -85,7 +86,6 @@
disabledDate: '', disabledDate: '',
year: null, year: null,
month: null, month: null,
week: null,
showWeekNumber: false, showWeekNumber: false,
timePickerVisible: false timePickerVisible: false
} }

View file

@ -29,6 +29,8 @@
// value: '', // value: '',
options: { options: {
disabledDate(time) { disabledDate(time) {
// console.log(time)
// return time.getFullYear() < 2016;
return time.getTime() < Date.now() - 8.64e7; return time.getTime() < Date.now() - 8.64e7;
// return time && time.valueOf() < Date.now(); // return time && time.valueOf() < Date.now();
} }