From ef0c6a1647d247b43035f9ef56b5bebad2d98154 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Wed, 25 Jun 2025 12:13:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20Page=20=E7=BB=84=E4=BB=B6=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E8=AE=BE=E7=BD=AE=20page=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client-modules/src/render/components/page.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) 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); + } + } + } + ); /** * 切换页码