Pagination: fix Jumper value should reassign when internalCurrentPage greater than internalPageCount

pull/6837/merge
huguangju 2017-09-04 18:29:34 +08:00 committed by 杨奕
parent adf357fb36
commit e3c0e2ef05
2 changed files with 12 additions and 1 deletions

View File

@ -189,16 +189,25 @@ export default {
handleFocus(event) {
this.oldValue = event.target.value;
},
handleBlur({ target }) {
this.reassignMaxValue(target);
},
handleKeyUp(event) {
const key = event.key || '';
const keyCode = event.keyCode || '';
if ((key && key === 'Enter') || (keyCode && keyCode === 13)) {
this.reassignMaxValue(event.target);
this.handleChange({ target: event.target });
}
},
handleChange({ target }) {
this.$parent.internalCurrentPage = this.$parent.getValidCurrentPage(target.value);
this.oldValue = null;
},
reassignMaxValue(target) {
if (+target.value > this.$parent.internalPageCount) {
target.value = this.$parent.internalPageCount;
}
}
},
@ -210,11 +219,12 @@ export default {
class="el-pagination__editor"
type="number"
min={ 1 }
max={ this.internalPageCount }
max={ this.$parent.internalPageCount }
value={ this.$parent.internalCurrentPage }
domProps-value={ this.$parent.internalCurrentPage }
on-change={ this.handleChange }
on-focus={ this.handleFocus }
on-blur={ this.handleBlur }
on-keyup={ this.handleKeyUp }
number/>
{ this.t('el.pagination.pageClassifier') }

View File

@ -219,6 +219,7 @@ describe('Pagination', () => {
triggerEvent(input, 'change');
setTimeout(() => {
expect(vm.page).to.equal(10);
expect(input.value).to.equal('10');
input.value = '我好帅';
triggerEvent(input, 'change');