diff --git a/docs/en-US/component/image.md b/docs/en-US/component/image.md
index 43d11f7847..673bb78db8 100644
--- a/docs/en-US/component/image.md
+++ b/docs/en-US/component/image.md
@@ -100,28 +100,30 @@ image/manually-preview
### Image Slots
-| Name | Description |
-| ----------- | -------------------------------------------------------- |
-| placeholder | custom placeholder content when image hasn't loaded yet. |
-| error | custom image load failed content. |
-| viewer | custom content when image preview. |
+| Name | Description | Type |
+| ----------------- | -------------------------------------------------------- | ------------------------------------------------- |
+| placeholder | custom placeholder content when image hasn't loaded yet. | - |
+| error | custom image load failed content. | - |
+| viewer | custom content when image preview. | - |
+| progress ^(2.9.4) | custom progress content when image preview. | ^[object]`{ activeIndex: number, total: number }` |
## Image Viewer API
### Image Viewer Attributes
-| Name | Description | Type | Default |
-| --------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------- | ------- |
-| url-list | preview link list. | ^[object]`string[]` | [] |
-| z-index | preview backdrop z-index. | ^[number] / ^[string] | — |
-| initial-index | the initial preview image index, less than or equal to the length of `url-list`. | ^[number] | 0 |
-| infinite | whether preview is infinite. | ^[boolean] | true |
-| hide-on-click-modal | whether user can emit close event when clicking backdrop. | ^[boolean] | false |
-| teleported | whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`. | ^[boolean] | false |
-| zoom-rate ^(2.2.27) | the zoom rate of the image viewer zoom event. | ^[number] | 1.2 |
-| min-scale ^(2.4.0) | the min scale of the image viewer zoom event. | ^[number] | 0.2 |
-| max-scale ^(2.4.0) | the max scale of the image viewer zoom event. | ^[number] | 7 |
-| close-on-press-escape | whether the image-viewer can be closed by pressing ESC. | ^[boolean] | true |
+| Name | Description | Type | Default |
+| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------- | ------- |
+| url-list | preview link list. | ^[object]`string[]` | [] |
+| z-index | preview backdrop z-index. | ^[number] / ^[string] | — |
+| initial-index | the initial preview image index, less than or equal to the length of `url-list`. | ^[number] | 0 |
+| infinite | whether preview is infinite. | ^[boolean] | true |
+| hide-on-click-modal | whether user can emit close event when clicking backdrop. | ^[boolean] | false |
+| teleported | whether to append image itself to body. A nested parent element attribute transform should have this attribute set to `true`. | ^[boolean] | false |
+| zoom-rate ^(2.2.27) | the zoom rate of the image viewer zoom event. | ^[number] | 1.2 |
+| min-scale ^(2.4.0) | the min scale of the image viewer zoom event. | ^[number] | 0.2 |
+| max-scale ^(2.4.0) | the max scale of the image viewer zoom event. | ^[number] | 7 |
+| close-on-press-escape | whether the image-viewer can be closed by pressing ESC. | ^[boolean] | true |
+| show-progress ^(2.9.4) | whether to display the preview image progress content | ^[boolean] | false |
### Image Viewer Events
diff --git a/docs/examples/image/image-preview.vue b/docs/examples/image/image-preview.vue
index 32b73dd266..41574cd878 100644
--- a/docs/examples/image/image-preview.vue
+++ b/docs/examples/image/image-preview.vue
@@ -7,6 +7,7 @@
:max-scale="7"
:min-scale="0.2"
:preview-src-list="srcList"
+ show-progress
:initial-index="4"
fit="cover"
/>
diff --git a/packages/components/image-viewer/__tests__/image-viewer.test.tsx b/packages/components/image-viewer/__tests__/image-viewer.test.tsx
index 22c1fdb8da..b55ef112df 100644
--- a/packages/components/image-viewer/__tests__/image-viewer.test.tsx
+++ b/packages/components/image-viewer/__tests__/image-viewer.test.tsx
@@ -58,4 +58,23 @@ describe('