diff --git a/docs/en-US/component/cascader.md b/docs/en-US/component/cascader.md
index 748c7e9e24..90ecbbf36f 100644
--- a/docs/en-US/component/cascader.md
+++ b/docs/en-US/component/cascader.md
@@ -175,10 +175,11 @@ cascader/panel
### Cascader Slots
-| Name | Description | Scope |
-| ------- | ---------------------------------------------------------------------------------------------- | ----------------------------------- |
-| default | the custom content of cascader node, which are current Node object and node data respectively. | ^[object]`{ node: any, data: any }` |
-| empty | content when there is no matched options. | — |
+| Name | Description | Scope |
+| --------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------- |
+| default | the custom content of cascader node, which are current Node object and node data respectively. | ^[object]`{ node: any, data: any }` |
+| empty | content when there is no matched options. | — |
+| prefix ^(2.9.4) | content as Input prefix | — |
### Cascader Exposes
diff --git a/packages/components/cascader/__tests__/cascader.test.tsx b/packages/components/cascader/__tests__/cascader.test.tsx
index 731d92bcd4..3e05fb0bab 100644
--- a/packages/components/cascader/__tests__/cascader.test.tsx
+++ b/packages/components/cascader/__tests__/cascader.test.tsx
@@ -559,4 +559,19 @@ describe('Cascader.vue', () => {
expect(emptySlotEl?.textContent).toBe('-=-empty-=-no-data')
})
})
+
+ describe('render prefix slot', () => {
+ it('correct render prefix slot', async () => {
+ _mount(() => (
+
+ {{
+ prefix: () => -=-prefix-=-
,
+ }}
+
+ ))
+
+ const prefixSlotEl = document.querySelector('.el-input__prefix-inner')
+ expect(prefixSlotEl?.textContent).toBe('-=-prefix-=-')
+ })
+ })
})
diff --git a/packages/components/cascader/src/cascader.vue b/packages/components/cascader/src/cascader.vue
index 27e875bcd2..a8531d4c44 100644
--- a/packages/components/cascader/src/cascader.vue
+++ b/packages/components/cascader/src/cascader.vue
@@ -42,6 +42,9 @@
@blur="handleBlur"
@input="handleInput"
>
+
+
+