From 9040bfd77c78728e10296732c628593b7dd2277c Mon Sep 17 00:00:00 2001 From: neverland <chenjiahan@youzan.com> Date: Wed, 30 Jun 2021 10:02:50 +0800 Subject: [PATCH] perf(Calendar): simplify placeholder dom (#8955) --- src/calendar/CalendarDay.tsx | 5 ++ .../test/__snapshots__/demo.spec.ts.snap | 60 +++++-------------- .../test/__snapshots__/index.spec.ts.snap | 48 ++++----------- 3 files changed, 32 insertions(+), 81 deletions(-) diff --git a/src/calendar/CalendarDay.tsx b/src/calendar/CalendarDay.tsx index c533a9a2a..cb06cb211 100644 --- a/src/calendar/CalendarDay.tsx +++ b/src/calendar/CalendarDay.tsx @@ -136,6 +136,11 @@ export default defineComponent({ return () => { const { type, className } = props.item; + + if (type === 'placeholder') { + return <div class={bem('day')} style={style.value} />; + } + return ( <div role="gridcell" diff --git a/src/calendar/test/__snapshots__/demo.spec.ts.snap b/src/calendar/test/__snapshots__/demo.spec.ts.snap index 9cc23b495..8ecbdd3ef 100644 --- a/src/calendar/test/__snapshots__/demo.spec.ts.snap +++ b/src/calendar/test/__snapshots__/demo.spec.ts.snap @@ -190,34 +190,24 @@ exports[`should render demo and match snapshot 1`] = ` <div role="grid" class="van-calendar__days" > - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> </div> @@ -229,34 +219,24 @@ exports[`should render demo and match snapshot 1`] = ` <div role="grid" class="van-calendar__days" > - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> </div> @@ -268,34 +248,24 @@ exports[`should render demo and match snapshot 1`] = ` <div role="grid" class="van-calendar__days" > - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> </div> diff --git a/src/calendar/test/__snapshots__/index.spec.ts.snap b/src/calendar/test/__snapshots__/index.spec.ts.snap index 5adb2195c..b8cd34846 100644 --- a/src/calendar/test/__snapshots__/index.spec.ts.snap +++ b/src/calendar/test/__snapshots__/index.spec.ts.snap @@ -37,40 +37,28 @@ exports[`color prop when type is range 1`] = ` <div role="grid" class="van-calendar__days" > - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> </div> @@ -606,40 +594,28 @@ exports[`popup wrapper 2`] = ` <div role="grid" class="van-calendar__days" > - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> - <div role="gridcell" + <div class="van-calendar__day" style="width: 100%;" - class="van-calendar__day van-calendar__day--placeholder" - tabindex="-1" > </div> </div>