From 5f59a60bdf8c84c54bc046c316421946c931a5e8 Mon Sep 17 00:00:00 2001 From: inottn Date: Fri, 24 Nov 2023 16:37:10 +0800 Subject: [PATCH] perf(TextEllipsis): reuse windowWidth to avoid repeat calculations --- .../vant/src/text-ellipsis/TextEllipsis.tsx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/vant/src/text-ellipsis/TextEllipsis.tsx b/packages/vant/src/text-ellipsis/TextEllipsis.tsx index ea9520f6f39..1f2ff69bfa4 100644 --- a/packages/vant/src/text-ellipsis/TextEllipsis.tsx +++ b/packages/vant/src/text-ellipsis/TextEllipsis.tsx @@ -7,11 +7,13 @@ import { type ExtractPropTypes, } from 'vue'; -// Composables -import { useEventListener } from '@vant/use'; - // Utils -import { makeNumericProp, makeStringProp, createNamespace } from '../utils'; +import { + makeNumericProp, + makeStringProp, + createNamespace, + windowWidth, +} from '../utils'; const [name, bem] = createNamespace('text-ellipsis'); @@ -196,9 +198,10 @@ export default defineComponent({ onMounted(calcEllipsised); - watch(() => [props.content, props.rows, props.position], calcEllipsised); - - useEventListener('resize', calcEllipsised); + watch( + [windowWidth, () => [props.content, props.rows, props.position]], + calcEllipsised, + ); return () => (