diff --git a/packages/components/date-picker/__tests__/date-picker.spec.ts b/packages/components/date-picker/__tests__/date-picker.spec.ts
index 62ead45441..efb1dc9d16 100644
--- a/packages/components/date-picker/__tests__/date-picker.spec.ts
+++ b/packages/components/date-picker/__tests__/date-picker.spec.ts
@@ -325,6 +325,26 @@ describe('DatePicker', () => {
expect(text.includes('csw')).toBeTruthy()
})
+ it('custom content bail out slot compoent', async () => {
+ _mount(
+ `
+
+ `,
+ () => ({ value: '' }),
+ {
+ mounted() {
+ this.$refs.input.focus()
+ },
+ }
+ )
+ await nextTick()
+ const el = document.querySelector('td.available')
+ const text = el.textContent
+ expect(!!text).toBeTruthy()
+ })
+
describe('value-format', () => {
it('with literal string', async () => {
const day = dayjs()
diff --git a/packages/components/date-picker/src/date-picker-com/basic-cell-render.ts b/packages/components/date-picker/src/date-picker-com/basic-cell-render.ts
index c6034581ec..0c44f9c25c 100644
--- a/packages/components/date-picker/src/date-picker-com/basic-cell-render.ts
+++ b/packages/components/date-picker/src/date-picker-com/basic-cell-render.ts
@@ -16,7 +16,9 @@ export default defineComponent({
const cell = props.cell
if (picker?.ctx.slots.default) {
const list = picker.ctx.slots.default(cell).filter((item) => {
- return item.type.toString() !== 'Symbol(Comment)'
+ return (
+ item.patchFlag !== -2 && item.type.toString() !== 'Symbol(Comment)'
+ )
})
if (list.length) {
return list