Merge pull request #391 from QingWei-Li/fix/date-picker-tab-key

DatePicker: fix tab key
pull/398/head
杨奕 2016-10-13 17:19:45 +08:00 committed by GitHub
commit f1fdaa4a0e
3 changed files with 8 additions and 24 deletions

View File

@ -149,11 +149,11 @@
},
leftLabel() {
return this.date.getFullYear() + ' ' + this.$t('datepicker.month') + ' ' + (this.date.getMonth() + 1) + ' ' + this.$t('datepicker.month');
return this.date.getFullYear() + ' ' + this.$t('datepicker.year') + ' ' + (this.date.getMonth() + 1) + ' ' + this.$t('datepicker.month');
},
rightLabel() {
return this.rightDate.getFullYear() + ' ' + this.$t('datepicker.month') + ' ' + (this.rightDate.getMonth() + 1) + ' ' + this.$t('datepicker.month');
return this.rightDate.getFullYear() + ' ' + this.$t('datepicker.year') + ' ' + (this.rightDate.getMonth() + 1) + ' ' + this.$t('datepicker.month');
},
leftYear() {

View File

@ -32,7 +32,7 @@
<script>
import Vue from 'vue';
import Clickoutside from 'element-ui/src/utils/clickoutside';
import { merge, formatDate, parseDate, getWeekNumber } from './util';
import { formatDate, parseDate, getWeekNumber } from './util';
import Popper from 'element-ui/src/utils/vue-popper';
import emitter from 'element-ui/src/mixins/emitter';
@ -312,7 +312,6 @@ export default {
},
handleBlur() {
this.pickerVisible = false;
this.$emit('blur', this);
this.dispatch('form-item', 'el.form.blur');
},
@ -323,7 +322,10 @@ export default {
let selectionEnd = event.target.selectionEnd;
let length = event.target.value.length;
if (keyCode === 27) {
// tab
if (keyCode === 9) {
this.pickerVisible = false;
} else if (keyCode === 27) {
this.pickerVisible = this.picker.visible = false;
// left
} else if (keyCode === 37) {
@ -414,9 +416,7 @@ export default {
showPicker() {
if (!this.picker) {
this.panel.defaultValue = this.value;
this.picker = new Vue(merge({
el: document.createElement('div')
}, this.panel));
this.picker = new Vue(this.panel).$mount(document.createElement('div'));
this.popperElm = this.picker.$el;
this.picker.width = this.$refs.reference.getBoundingClientRect().width;
this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange';

View File

@ -8,22 +8,6 @@ const newArray = function(start, end) {
return result;
};
export const merge = function(target) {
for (var i = 1, j = arguments.length; i < j; i++) {
var source = arguments[i];
for (var prop in source) {
if (source.hasOwnProperty(prop)) {
var value = source[prop];
if (value !== undefined) {
target[prop] = value;
}
}
}
}
return target;
};
export const toDate = function(date) {
date = new Date(date);
if (isNaN(date.getTime())) return null;