diff --git a/packages-user/client-modules/src/render/components/page.tsx b/packages-user/client-modules/src/render/components/page.tsx index 6857f13..b8853b9 100644 --- a/packages-user/client-modules/src/render/components/page.tsx +++ b/packages-user/client-modules/src/render/components/page.tsx @@ -8,7 +8,7 @@ import { VNode, watch } from 'vue'; -import { clamp } from 'lodash-es'; +import { clamp, isNil } from 'lodash-es'; import { DefaultProps, ElementLocator, Font } from '@motajs/render'; import { SetupComponentOptions } from '@motajs/system-ui'; @@ -177,6 +177,18 @@ export const Page = defineComponent< updateRectAndText(); } ); + watch( + () => props.page, + page => { + if (!isNil(page)) { + const target = clamp(page, 0, props.pages - 1); + if (nowPage.value !== target) { + nowPage.value = target; + emit('pageChange', target); + } + } + } + ); /** * 切换页码