fix(Pagination): change event not work (#10018)

* fix(Pagination): change event not work

* chore: update pnpm lock
This commit is contained in:
neverland
2021-12-09 21:29:08 +08:00
committed by GitHub
parent 59cbedb7d5
commit 991f39ee33
4 changed files with 41 additions and 7 deletions
+3 -3
View File
@@ -135,7 +135,7 @@ export default defineComponent({
<button
type="button"
disabled={disabled}
onClick={() => updateModelValue(modelValue - 1)}
onClick={() => updateModelValue(modelValue - 1, true)}
>
{slot ? slot() : props.prevText || t('prev')}
</button>
@@ -157,7 +157,7 @@ export default defineComponent({
<button
type="button"
disabled={disabled}
onClick={() => updateModelValue(modelValue + 1)}
onClick={() => updateModelValue(modelValue + 1, true)}
>
{slot ? slot() : props.nextText || t('next')}
</button>
@@ -176,7 +176,7 @@ export default defineComponent({
<button
type="button"
aria-current={page.active || undefined}
onClick={() => updateModelValue(page.number)}
onClick={() => updateModelValue(page.number, true)}
>
{slots.page ? slots.page(page) : page.text}
</button>
@@ -29,3 +29,26 @@ test('should render page slot correctly', () => {
expect(wrapper.html()).toMatchSnapshot();
});
test('should emit change event after the page is changed', async () => {
const wrapper = mount(Pagination, {
props: {
modelValue: 1,
totalItems: 50,
'onUpdate:modelValue': (modelValue: number) => {
wrapper.setProps({ modelValue });
},
},
});
await wrapper
.findAll('.van-pagination__item--page button')[2]
.trigger('click');
expect(wrapper.emitted('change')).toEqual([[3]]);
await wrapper.find('.van-pagination__item--prev button').trigger('click');
expect(wrapper.emitted('change')).toEqual([[3], [2]]);
await wrapper.find('.van-pagination__item--next button').trigger('click');
expect(wrapper.emitted('change')).toEqual([[3], [2], [3]]);
});