Merge pull request #467 from QingWei-Li/fix/date-picker-style

DatePicker: fix panel style, #318
pull/476/head
杨奕 2016-10-18 10:11:11 +08:00 committed by GitHub
commit c4d69be4af
4 changed files with 27 additions and 41 deletions

View File

@ -7,6 +7,10 @@
- 修复 Form reset method 对日期控件不起效的问题 - 修复 Form reset method 对日期控件不起效的问题
- 修复 Dialog 和 Message Box 在 body 无溢出时错误地添加 padding-right 的问题 - 修复 Dialog 和 Message Box 在 body 无溢出时错误地添加 padding-right 的问题
- 修复 Message Box 的 prompt 在打开时会携带之前的验证状态的问题 - 修复 Message Box 的 prompt 在打开时会携带之前的验证状态的问题
- 修复 Clickoutside 性能问题 #296
- 修复 Tooltip/Popover 首次渲染的箭头位置 #412
- 修复 Autocomplete 的弹出框不会消失 #439
- 修复 DatePicker 弹出框样式溢出边框 #318
#### 非兼容性更新 #### 非兼容性更新

View File

@ -26,8 +26,12 @@
width: 100%; width: 100%;
} }
@e editor { @e editor-wrap {
flex: 1; flex: 1;
position: relative;
}
@e editor {
margin: 0 5px; margin: 0 5px;
position: relative; position: relative;
border: 1px solid #c0ccda; border: 1px solid #c0ccda;

View File

@ -23,17 +23,15 @@
<input <input
placeholder="开始日期" placeholder="开始日期"
class="el-date-range-picker__editor" class="el-date-range-picker__editor"
v-model="leftVisibleDate" v-model.lazy="leftVisibleDate"
@input="handleDateInput($event, 'min')" @input="handleDateInput($event, 'min')"
@change="handleDateChange($event, 'min')"/> @change="handleDateChange($event, 'min')"/>
<span <span class="el-date-range-picker__time-picker-wrap">
class="el-date-range-picker__time-picker-wrap"
v-clickoutside="closeLeftTimePicker">
<input <input
placeholder="开始时间" placeholder="开始时间"
class="el-date-range-picker__editor" class="el-date-range-picker__editor"
v-model="leftVisibleTime" v-model.lazy="leftVisibleTime"
@focus="leftTimePickerVisible = true" @focus="leftTimePickerVisible = !leftTimePickerVisible"
@change="handleTimeChange($event, 'min')"/> @change="handleTimeChange($event, 'min')"/>
<time-picker <time-picker
:picker-width="leftPickerWidth" :picker-width="leftPickerWidth"
@ -50,19 +48,17 @@
ref="leftInput" ref="leftInput"
placeholder="结束日期" placeholder="结束日期"
class="el-date-range-picker__editor" class="el-date-range-picker__editor"
v-model="rightVisibleDate" v-model.lazy="rightVisibleDate"
:readonly="!minDate" :readonly="!minDate"
@input="handleDateInput($event, 'max')" @input="handleDateInput($event, 'max')"
@change="handleDateChange($event, 'max')" /> @change="handleDateChange($event, 'max')" />
<span <span class="el-date-range-picker__time-picker-wrap">
class="el-date-range-picker__time-picker-wrap"
v-clickoutside="closeRightTimePicker">
<input <input
ref="rightInput" ref="rightInput"
placeholder="结束时间" placeholder="结束时间"
class="el-date-range-picker__editor" class="el-date-range-picker__editor"
v-model="rightVisibleTime" v-model.lazy="rightVisibleTime"
@focus="minDate && (rightTimePickerVisible = true)" @focus="minDate && (rightTimePickerVisible = !rightTimePickerVisible)"
:readonly="!minDate" :readonly="!minDate"
@change="handleTimeChange($event, 'max')" /> @change="handleTimeChange($event, 'max')" />
<time-picker <time-picker
@ -257,10 +253,6 @@
} }
}, },
directives: {
Clickoutside: require('element-ui/src/utils/clickoutside').default
},
data() { data() {
return { return {
leftPickerWidth: 0, leftPickerWidth: 0,
@ -332,14 +324,6 @@
return $t.apply(this, args); return $t.apply(this, args);
}, },
closeLeftTimePicker() {
this.leftTimePickerVisible = false;
},
closeRightTimePicker() {
this.rightTimePickerVisible = false;
},
handleDateInput(event, type) { handleDateInput(event, type) {
const value = event.target.value; const value = event.target.value;
const parsedValue = parseDate(value, 'yyyy-MM-dd'); const parsedValue = parseDate(value, 'yyyy-MM-dd');

View File

@ -21,16 +21,18 @@
</div> </div>
<div class="el-picker-panel__body"> <div class="el-picker-panel__body">
<div class="el-date-picker__time-header" v-if="showTime"> <div class="el-date-picker__time-header" v-if="showTime">
<span class="el-date-picker__editor-wrap">
<input <input
:placehoder="$t('datepicker.selectDate')" :placehoder="$t('datepicker.selectDate')"
type="text" type="text"
v-model="visibleDate" v-model.lazy="visibleDate"
class="el-date-picker__editor"> class="el-date-picker__editor">
<span style="position: relative" v-clickoutside="closeTimePicker"> </span>
<span class="el-date-picker__editor-wrap">
<input <input
ref="input" ref="input"
@focus="timePickerVisible = true" @focus="timePickerVisible = !timePickerVisible"
v-model="visibleTime" v-model.lazy="visibleTime"
:placehoder="$t('datepicker.selectTime')" :placehoder="$t('datepicker.selectTime')"
type="text" type="text"
class="el-date-picker__editor"> class="el-date-picker__editor">
@ -162,10 +164,6 @@
} }
}, },
directives: {
Clickoutside: require('element-ui/src/utils/clickoutside').default
},
methods: { methods: {
$t(...args) { $t(...args) {
return $t.apply(this, args); return $t.apply(this, args);
@ -320,10 +318,6 @@
this.year = this.date.getFullYear(); this.year = this.date.getFullYear();
this.month = this.date.getMonth(); this.month = this.date.getMonth();
} }
},
closeTimePicker() {
this.timePickerVisible = false;
} }
}, },