Skip to content

Commit

Permalink
DatePicker: fix unexpected blur for time panel (#10141)
Browse files Browse the repository at this point in the history
  • Loading branch information
liril-net authored and Leopoldthecoder committed Mar 13, 2018
1 parent b2f9cef commit 2d12519
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
11 changes: 7 additions & 4 deletions packages/date-picker/src/panel/date-range.vue
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,14 @@
@input.native="handleDateInput($event, 'min')"
@change.native="handleDateChange($event, 'min')" />
</span>
<span class="el-date-range-picker__time-picker-wrap">
<span class="el-date-range-picker__time-picker-wrap" v-clickoutside="() => minTimePickerVisible = false">
<el-input
size="small"
:disabled="rangeState.selecting"
:placeholder="t('el.datepicker.startTime')"
class="el-date-range-picker__editor"
:value="minVisibleTime"
@focus="minTimePickerVisible = !minTimePickerVisible"
@focus="minTimePickerVisible = true"
@change.native="handleTimeChange($event, 'min')" />
<time-picker
ref="minTimePicker"
Expand All @@ -61,15 +61,15 @@
@input.native="handleDateInput($event, 'max')"
@change.native="handleDateChange($event, 'max')" />
</span>
<span class="el-date-range-picker__time-picker-wrap">
<span class="el-date-range-picker__time-picker-wrap" v-clickoutside="() => maxTimePickerVisible = false">
<el-input
size="small"
:disabled="rangeState.selecting"
ref="maxInput"
:placeholder="t('el.datepicker.endTime')"
class="el-date-range-picker__editor"
:value="maxVisibleTime"
@focus="minDate && (maxTimePickerVisible = !maxTimePickerVisible)"
@focus="minDate && (maxTimePickerVisible = true)"
:readonly="!minDate"
@change.native="handleTimeChange($event, 'max')" />
<time-picker
Expand Down Expand Up @@ -195,6 +195,7 @@
prevMonth,
nextMonth
} from '../util';
import Clickoutside from 'element-ui/src/utils/clickoutside';
import Locale from 'element-ui/src/mixins/locale';
import TimePicker from './time';
import DateTable from '../basic/date-table';
Expand Down Expand Up @@ -231,6 +232,8 @@
export default {
mixins: [Locale],
directives: { Clickoutside },
computed: {
btnDisabled() {
return !(this.minDate && this.maxDate && !this.selecting);
Expand Down
7 changes: 5 additions & 2 deletions packages/date-picker/src/panel/date.vue
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
@input="val => userInputDate = val"
@change="handleVisibleDateChange" />
</span>
<span class="el-date-picker__editor-wrap">
<span class="el-date-picker__editor-wrap" v-clickoutside="() => timePickerVisible = false">
<el-input
ref="input"
@focus="timePickerVisible = !timePickerVisible"
@focus="timePickerVisible = true"
:placeholder="t('el.datepicker.selectTime')"
:value="visibleTime"
size="small"
Expand Down Expand Up @@ -155,6 +155,7 @@
nextMonth,
changeYearMonthAndClampDate
} from '../util';
import Clickoutside from 'element-ui/src/utils/clickoutside';
import Locale from 'element-ui/src/mixins/locale';
import ElInput from 'element-ui/packages/input';
import ElButton from 'element-ui/packages/button';
Expand All @@ -166,6 +167,8 @@
export default {
mixins: [Locale],
directives: { Clickoutside },
watch: {
showTime(val) {
/* istanbul ignore if */
Expand Down

0 comments on commit 2d12519

Please sign in to comment.