Commit 13be443453a2ef19c7a8d77b2e17e90356ead3c9
1 parent
344131a7
update DatePicker
update DatePicker
Showing
4 changed files
with
14 additions
and
6 deletions
Show diff stats
src/components/date-picker/base/month-table.vue
@@ -13,7 +13,10 @@ | @@ -13,7 +13,10 @@ | ||
13 | month: { | 13 | month: { |
14 | type: Number | 14 | type: Number |
15 | }, | 15 | }, |
16 | - disabledDate: {} | 16 | + disabledDate: {}, |
17 | + selectionMode: { | ||
18 | + default: 'month' | ||
19 | + } | ||
17 | }, | 20 | }, |
18 | computed: { | 21 | computed: { |
19 | classes () { | 22 | classes () { |
@@ -36,7 +39,7 @@ | @@ -36,7 +39,7 @@ | ||
36 | 39 | ||
37 | const date = new Date(this.date); | 40 | const date = new Date(this.date); |
38 | date.setMonth(i); | 41 | date.setMonth(i); |
39 | - cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date); | 42 | + cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date) && this.selectionMode === 'month'; |
40 | 43 | ||
41 | cell.selected = Number(this.month) === i; | 44 | cell.selected = Number(this.month) === i; |
42 | cells.push(cell); | 45 | cells.push(cell); |
src/components/date-picker/base/year-table.vue
@@ -11,7 +11,10 @@ | @@ -11,7 +11,10 @@ | ||
11 | props: { | 11 | props: { |
12 | date: {}, | 12 | date: {}, |
13 | year: {}, | 13 | year: {}, |
14 | - disabledDate: {} | 14 | + disabledDate: {}, |
15 | + selectionMode: { | ||
16 | + default: 'year' | ||
17 | + } | ||
15 | }, | 18 | }, |
16 | computed: { | 19 | computed: { |
17 | classes () { | 20 | classes () { |
@@ -37,7 +40,7 @@ | @@ -37,7 +40,7 @@ | ||
37 | 40 | ||
38 | const date = new Date(this.date); | 41 | const date = new Date(this.date); |
39 | date.setFullYear(cell.text); | 42 | date.setFullYear(cell.text); |
40 | - cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date); | 43 | + cell.disabled = typeof this.disabledDate === 'function' && this.disabledDate(date) && this.selectionMode === 'year'; |
41 | 44 | ||
42 | cell.selected = Number(this.year) === cell.text; | 45 | cell.selected = Number(this.year) === cell.text; |
43 | cells.push(cell); | 46 | cells.push(cell); |
src/components/date-picker/panel/date.vue
@@ -37,7 +37,6 @@ | @@ -37,7 +37,6 @@ | ||
37 | :month="month" | 37 | :month="month" |
38 | :date="date" | 38 | :date="date" |
39 | :value="value" | 39 | :value="value" |
40 | - :week="week" | ||
41 | :selection-mode="selectionMode" | 40 | :selection-mode="selectionMode" |
42 | :disabled-date="disabledDate" | 41 | :disabled-date="disabledDate" |
43 | @on-pick="handleDatePick"></date-table> | 42 | @on-pick="handleDatePick"></date-table> |
@@ -46,6 +45,7 @@ | @@ -46,6 +45,7 @@ | ||
46 | v-show="currentView === 'year'" | 45 | v-show="currentView === 'year'" |
47 | :year="year" | 46 | :year="year" |
48 | :date="date" | 47 | :date="date" |
48 | + :selection-mode="selectionMode" | ||
49 | :disabled-date="disabledDate" | 49 | :disabled-date="disabledDate" |
50 | @on-pick="handleYearPick"></year-table> | 50 | @on-pick="handleYearPick"></year-table> |
51 | <month-table | 51 | <month-table |
@@ -53,6 +53,7 @@ | @@ -53,6 +53,7 @@ | ||
53 | v-show="currentView === 'month'" | 53 | v-show="currentView === 'month'" |
54 | :month="month" | 54 | :month="month" |
55 | :date="date" | 55 | :date="date" |
56 | + :selection-mode="selectionMode" | ||
56 | :disabled-date="disabledDate" | 57 | :disabled-date="disabledDate" |
57 | @on-pick="handleMonthPick"></month-table> | 58 | @on-pick="handleMonthPick"></month-table> |
58 | </div> | 59 | </div> |
@@ -85,7 +86,6 @@ | @@ -85,7 +86,6 @@ | ||
85 | disabledDate: '', | 86 | disabledDate: '', |
86 | year: null, | 87 | year: null, |
87 | month: null, | 88 | month: null, |
88 | - week: null, | ||
89 | showWeekNumber: false, | 89 | showWeekNumber: false, |
90 | timePickerVisible: false | 90 | timePickerVisible: false |
91 | } | 91 | } |
test/routers/date.vue
@@ -29,6 +29,8 @@ | @@ -29,6 +29,8 @@ | ||
29 | // value: '', | 29 | // value: '', |
30 | options: { | 30 | options: { |
31 | disabledDate(time) { | 31 | disabledDate(time) { |
32 | +// console.log(time) | ||
33 | +// return time.getFullYear() < 2016; | ||
32 | return time.getTime() < Date.now() - 8.64e7; | 34 | return time.getTime() < Date.now() - 8.64e7; |
33 | // return time && time.valueOf() < Date.now(); | 35 | // return time && time.valueOf() < Date.now(); |
34 | } | 36 | } |