DatePicker: fix reset value, fixed #878 (#880)

add test
pull/884/head
cinwell.li 2016-11-07 16:26:03 +08:00 committed by FuryBean
parent b5e97d857d
commit fce92e8b4e
4 changed files with 37 additions and 0 deletions

View File

@ -17,6 +17,7 @@
- TableColumn 的 showTooltipWhenOverflow 更名为 showOverflowTooltip两个属性均可用
- TableColumn 新增属性 render-header
- Pagination 新增属性 pageCount
- DatePicker 修复重置 value 后默认选中日期没有重置, #878
#### 非兼容性更新

View File

@ -181,6 +181,10 @@
},
methods: {
handleClear() {
this.date = new Date();
},
resetDate() {
this.date = new Date(this.date);
},

View File

@ -221,6 +221,9 @@ export default {
val ? this.showPicker() : this.hidePicker();
},
value(val) {
if (!val && this.picker && typeof this.picker.handleClear === 'function') {
this.picker.handleClear();
}
this.dispatch('form-item', 'el.form.change');
}
},

View File

@ -66,6 +66,35 @@ describe('DatePicker', () => {
}, DELAY);
});
it('reset', done => {
vm = createVue({
template: `
<el-date-picker ref="compo" v-model="value"></el-date-picker>
`,
data() {
return { value: '' };
}
}, true);
const input = vm.$el.querySelector('input');
input.blur();
input.focus();
setTimeout(_ => {
const $el = vm.$refs.compo.picker.$el;
$el.querySelector('.el-date-picker__next-btn.el-icon-arrow-right').click();
setTimeout(_ => {
$el.querySelector('td.available').click();
vm.$nextTick(_ => {
vm.value = '';
setTimeout(_ => {
expect(vm.$refs.compo.picker.date.getDate()).to.equal(new Date().getDate());
done();
}, DELAY);
});
}, DELAY);
}, DELAY);
});
describe('keydown', () => {
let input;
let keyDown = function(el, keyCode) {