update DatePicker

update DatePicker
This commit is contained in:
梁灏 2016-12-22 09:18:11 +08:00
parent 98ca354f13
commit 68e9b1003b
10 changed files with 67 additions and 67 deletions

View file

@ -224,6 +224,7 @@
this.$emit('on-pick', newDate);
}
}
this.$emit('on-pick-click');
},
handleMouseMove (event) {
if (!this.rangeState.selecting) return;

View file

@ -67,6 +67,7 @@
this.$emit('on-pick', index);
}
this.$emit('on-pick-click');
}
}
}

View file

@ -73,6 +73,7 @@
this.$emit('on-pick', cell.text);
}
this.$emit('on-pick-click');
}
}
}

View file

@ -39,7 +39,8 @@
selection-mode="range"
:disabled-date="disabledDate"
@on-changerange="handleChangeRange"
@on-pick="handleRangePick"></date-table>
@on-pick="handleRangePick"
@on-pick-click="handlePickClick"></date-table>
<year-table
v-ref:left-year-table
v-show="leftCurrentView === 'year'"
@ -47,7 +48,8 @@
:date="leftTableDate"
selection-mode="range"
:disabled-date="disabledDate"
@on-pick="handleLeftYearPick"></year-table>
@on-pick="handleLeftYearPick"
@on-pick-click="handlePickClick"></year-table>
<month-table
v-ref:left-month-table
v-show="leftCurrentView === 'month'"
@ -55,7 +57,8 @@
:date="leftTableDate"
selection-mode="range"
:disabled-date="disabledDate"
@on-pick="handleLeftMonthPick"></month-table>
@on-pick="handleLeftMonthPick"
@on-pick-click="handlePickClick"></month-table>
</div>
<div :class="[prefixCls + '-content', prefixCls + '-content-right']">
<div :class="[datePrefixCls + '-header']" v-show="rightCurrentView !== 'time'">
@ -89,7 +92,8 @@
selection-mode="range"
:disabled-date="disabledDate"
@on-changerange="handleChangeRange"
@on-pick="handleRangePick"></date-table>
@on-pick="handleRangePick"
@on-pick-click="handlePickClick"></date-table>
<year-table
v-ref:right-year-table
v-show="rightCurrentView === 'year'"
@ -97,7 +101,8 @@
:date="rightTableDate"
selection-mode="range"
:disabled-date="disabledDate"
@on-pick="handleRightYearPick"></year-table>
@on-pick="handleRightYearPick"
@on-pick-click="handlePickClick"></year-table>
<month-table
v-ref:right-month-table
v-show="rightCurrentView === 'month'"
@ -105,7 +110,8 @@
:date="rightTableDate"
selection-mode="range"
:disabled-date="disabledDate"
@on-pick="handleRightMonthPick"></month-table>
@on-pick="handleRightMonthPick"
@on-pick-click="handlePickClick"></month-table>
</div>
<Confirm
v-if="confirm"

View file

@ -39,7 +39,8 @@
:value="value"
:selection-mode="selectionMode"
:disabled-date="disabledDate"
@on-pick="handleDatePick"></date-table>
@on-pick="handleDatePick"
@on-pick-click="handlePickClick"></date-table>
<year-table
v-ref:year-table
v-show="currentView === 'year'"
@ -47,7 +48,8 @@
:date="date"
:selection-mode="selectionMode"
:disabled-date="disabledDate"
@on-pick="handleYearPick"></year-table>
@on-pick="handleYearPick"
@on-pick-click="handlePickClick"></year-table>
<month-table
v-ref:month-table
v-show="currentView === 'month'"
@ -55,7 +57,8 @@
:date="date"
:selection-mode="selectionMode"
:disabled-date="disabledDate"
@on-pick="handleMonthPick"></month-table>
@on-pick="handleMonthPick"
@on-pick-click="handlePickClick"></month-table>
</div>
<Confirm
v-if="confirm"

View file

@ -19,6 +19,9 @@ export default {
},
handlePickSuccess () {
this.$emit('on-pick-success');
},
handlePickClick () {
this.$emit('on-pick-click');
}
}
}

View file

@ -181,11 +181,17 @@
type: String,
default: ''
},
align: {
// align: {
// validator (value) {
// return oneOf(value, ['left', 'center', 'right']);
// },
// default: 'left'
// },
placement: {
validator (value) {
return oneOf(value, ['left', 'center', 'right']);
return oneOf(value, ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end']);
},
default: 'left'
default: 'bottom-start'
},
options: {
type: Object
@ -197,7 +203,8 @@
showClose: false,
visible: false,
picker: null,
internalValue: ''
internalValue: '',
disableClickOutSide: false // fixed when click a date,trigger clickoutside to close picker
}
},
computed: {
@ -207,9 +214,9 @@
iconType () {
return this.showClose ? 'ios-close' : 'ios-calendar-outline';
},
placement () {
return PLACEMENT_MAP[this.align];
},
// placement () {
// return PLACEMENT_MAP[this.align];
// },
selectionMode() {
if (this.type === 'month') {
return 'month';
@ -251,7 +258,8 @@
},
methods: {
handleClose () {
this.visible = false;
if (!this.disableClickOutSide) this.visible = false;
this.disableClickOutSide = false;
},
handleFocus () {
if (this.readonly) return;
@ -361,6 +369,7 @@
// this.emitChange(this.value);
this.visible = false;
});
this.picker.$on('on-pick-click', () => this.disableClickOutSide = true);
// todo $on('on-time-range')
}