mirror of https://github.com/ElemeFE/element
Pagination: add prev-click and next-click events (#10755)
parent
d7e9e6173f
commit
95e168f7ca
|
@ -226,8 +226,10 @@ Add more modules based on your scenario.
|
||||||
### Events
|
### Events
|
||||||
| Event Name | Description | Parameters |
|
| Event Name | Description | Parameters |
|
||||||
|---------|--------|---------|
|
|---------|--------|---------|
|
||||||
| size-change | triggers when `page-size` changes | the new `page-size` |
|
| size-change | triggers when `page-size` changes | the new page size |
|
||||||
| current-change | triggers when `current-page` changes | the new `current-page` |
|
| current-change | triggers when `current-page` changes | the new current page |
|
||||||
|
| prev-click | triggers when the prev button is clicked and current page changes | the new current page |
|
||||||
|
| next-click | triggers when the next button is clicked and current page changes | the new current page |
|
||||||
|
|
||||||
### Slot
|
### Slot
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
|
|
|
@ -214,6 +214,8 @@ Agrega más modulos basados en su escenario.
|
||||||
| ----------------- | --------------------------------------- | ----------------------------- |
|
| ----------------- | --------------------------------------- | ----------------------------- |
|
||||||
| size-change | se dispara cuando `page-size` cambia | nuevo valor de `page-size` |
|
| size-change | se dispara cuando `page-size` cambia | nuevo valor de `page-size` |
|
||||||
| current-change | se dispara cuando `current-page` cambia | nuevo valor de `current-page` |
|
| current-change | se dispara cuando `current-page` cambia | nuevo valor de `current-page` |
|
||||||
|
| prev-click | triggers when the prev button is clicked and current page changes | the new current page |
|
||||||
|
| next-click | triggers when the next button is clicked and current page changes | the new current page |
|
||||||
|
|
||||||
### Slot
|
### Slot
|
||||||
| Nombre | Descripción |
|
| Nombre | Descripción |
|
||||||
|
|
|
@ -226,8 +226,10 @@
|
||||||
### Events
|
### Events
|
||||||
| 事件名称 | 说明 | 回调参数 |
|
| 事件名称 | 说明 | 回调参数 |
|
||||||
|---------|--------|---------|
|
|---------|--------|---------|
|
||||||
| size-change | pageSize 改变时会触发 | 每页条数`size` |
|
| size-change | pageSize 改变时会触发 | 每页条数 |
|
||||||
| current-change | currentPage 改变时会触发 | 当前页`currentPage` |
|
| current-change | currentPage 改变时会触发 | 当前页 |
|
||||||
|
| prev-click | 用户点击上一页按钮改变当前页后触发 | 当前页 |
|
||||||
|
| next-click | 用户点击下一页按钮改变当前页后触发 | 当前页 |
|
||||||
|
|
||||||
### Slot
|
### Slot
|
||||||
| name | 说明 |
|
| name | 说明 |
|
||||||
|
|
|
@ -306,6 +306,7 @@ export default {
|
||||||
if (this.disabled) return;
|
if (this.disabled) return;
|
||||||
const newVal = this.internalCurrentPage - 1;
|
const newVal = this.internalCurrentPage - 1;
|
||||||
this.internalCurrentPage = this.getValidCurrentPage(newVal);
|
this.internalCurrentPage = this.getValidCurrentPage(newVal);
|
||||||
|
this.$emit('prev-click', this.internalCurrentPage);
|
||||||
this.emitChange();
|
this.emitChange();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -313,6 +314,7 @@ export default {
|
||||||
if (this.disabled) return;
|
if (this.disabled) return;
|
||||||
const newVal = this.internalCurrentPage + 1;
|
const newVal = this.internalCurrentPage + 1;
|
||||||
this.internalCurrentPage = this.getValidCurrentPage(newVal);
|
this.internalCurrentPage = this.getValidCurrentPage(newVal);
|
||||||
|
this.$emit('next-click', this.internalCurrentPage);
|
||||||
this.emitChange();
|
this.emitChange();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -322,6 +322,34 @@ describe('Pagination', () => {
|
||||||
}, 50);
|
}, 50);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('event: prev and next click', done => {
|
||||||
|
vm = createVue({
|
||||||
|
template: `
|
||||||
|
<el-pagination
|
||||||
|
:total="100"
|
||||||
|
layout="sizes, prev, pager, next"
|
||||||
|
@prev-click="trigger = true"
|
||||||
|
@next-click="trigger = true"
|
||||||
|
:pageSize="10" />
|
||||||
|
`,
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return { trigger: false };
|
||||||
|
}
|
||||||
|
}, true);
|
||||||
|
const prev = vm.$el.querySelector('.btn-prev');
|
||||||
|
const next = vm.$el.querySelector('.btn-next');
|
||||||
|
prev.click();
|
||||||
|
setTimeout(_ => {
|
||||||
|
expect(vm.trigger).to.false;
|
||||||
|
next.click();
|
||||||
|
setTimeout(_ => {
|
||||||
|
expect(vm.trigger).to.true;
|
||||||
|
done();
|
||||||
|
}, 50);
|
||||||
|
}, 50);
|
||||||
|
});
|
||||||
|
|
||||||
it('pageSize > total', () => {
|
it('pageSize > total', () => {
|
||||||
vm = createVue({
|
vm = createVue({
|
||||||
template: `
|
template: `
|
||||||
|
|
Loading…
Reference in New Issue