diff --git a/packages/vant/src/area/test/__snapshots__/demo.spec.ts.snap b/packages/vant/src/area/test/__snapshots__/demo.spec.ts.snap
index fb2b85d81..3198a1cac 100644
--- a/packages/vant/src/area/test/__snapshots__/demo.spec.ts.snap
+++ b/packages/vant/src/area/test/__snapshots__/demo.spec.ts.snap
@@ -165,14 +165,6 @@ exports[`should render demo and match snapshot 1`] = `
-
-
-
-
@@ -331,14 +323,6 @@ exports[`should render demo and match snapshot 1`] = `
-
-
-
-
@@ -410,14 +394,6 @@ exports[`should render demo and match snapshot 1`] = `
-
-
-
-
@@ -495,14 +471,6 @@ exports[`should render demo and match snapshot 1`] = `
>
-
-
-
-
diff --git a/packages/vant/src/area/test/__snapshots__/index.spec.js.snap b/packages/vant/src/area/test/__snapshots__/index.spec.js.snap
index ba7b435e5..67059984e 100644
--- a/packages/vant/src/area/test/__snapshots__/index.spec.js.snap
+++ b/packages/vant/src/area/test/__snapshots__/index.spec.js.snap
@@ -36,14 +36,6 @@ exports[`should render columns-top、columns-bottom slot correctly 1`] = `
>
-
-
-
-
Bottom
@@ -130,14 +122,6 @@ exports[`should render two columns when columns-num prop is two 1`] = `
-
-
-
-
`;
diff --git a/packages/vant/src/picker/Picker.tsx b/packages/vant/src/picker/Picker.tsx
index f0c5b0496..6c9fdd3e3 100644
--- a/packages/vant/src/picker/Picker.tsx
+++ b/packages/vant/src/picker/Picker.tsx
@@ -352,14 +352,29 @@ export default defineComponent({
/>
));
+ const renderMask = (wrapHeight: number) => {
+ const hasOptions = formattedColumns.value.some(
+ (item) => item[valuesKey] && item[valuesKey].length !== 0
+ );
+
+ if (hasOptions) {
+ const frameStyle = { height: `${itemHeight.value}px` };
+ const maskStyle = {
+ backgroundSize: `100% ${(wrapHeight - itemHeight.value) / 2}px`,
+ };
+ return [
+ ,
+ ,
+ ];
+ }
+ };
+
const renderColumns = () => {
const wrapHeight = itemHeight.value * +props.visibleItemCount;
- const frameStyle = { height: `${itemHeight.value}px` };
const columnsStyle = { height: `${wrapHeight}px` };
- const maskStyle = {
- backgroundSize: `100% ${(wrapHeight - itemHeight.value) / 2}px`,
- };
-
return (
{renderColumnItems()}
-
-
+ {renderMask(wrapHeight)}
);
};
diff --git a/packages/vant/src/picker/test/__snapshots__/index.spec.tsx.snap b/packages/vant/src/picker/test/__snapshots__/index.spec.tsx.snap
index 01a80faf5..41902d3e0 100644
--- a/packages/vant/src/picker/test/__snapshots__/index.spec.tsx.snap
+++ b/packages/vant/src/picker/test/__snapshots__/index.spec.tsx.snap
@@ -168,14 +168,6 @@ exports[`columns-top、columns-bottom prop 1`] = `
>
-
-
-
-
Custom Columns Bottom
@@ -403,14 +395,6 @@ exports[`should render confirm/cancel slot correctly 1`] = `
>
-
-
-
-
`;
@@ -439,14 +423,6 @@ exports[`should render title slot correctly 1`] = `
>
-
-
-
-
`;
@@ -465,14 +441,6 @@ exports[`should render toolbar slot correctly 1`] = `
>
-
-
-
-
`;
@@ -488,14 +456,6 @@ exports[`toolbar-position prop 1`] = `
>
-
-
-
-