Files
element-plus/docs/en-US/component/image.md

16 KiB

title, lang
title lang
Image en-US

Image

Besides the native features of img, support lazy load, custom placeholder and load failure, etc.

Basic Usage

:::demo Indicate how the image should be resized to fit its container by fit, same as native object-fit.

image/basic-usage

:::

Placeholder

:::demo Custom placeholder content when image hasn't loaded yet by slot = placeholder

image/placeholder

:::

Load Failed

:::demo Custom failed content when error occurs to image load by slot = error and slot = viewer-error.

image/load-failed

:::

Lazy Load

:::tip

Native loading has been supported since ^(2.2.3), you can use loading = "lazy" to replace lazy = true.

If the current browser supports native lazy loading, the native lazy loading will be used first, otherwise will be implemented through scroll.

:::

:::demo Use lazy load by lazy = true. Image will load until scroll into view when set. You can indicate scroll container that adds scroll listener to by scroll-container. If undefined, will be the nearest parent container whose overflow property is auto or scroll.

image/lazy-load

:::

Image Preview

:::demo allow big image preview by setting previewSrcList prop. You can initialize the position of the first picture previewed by initial-index. The default initial position is 0.

image/image-preview

:::

Manually Open Preview ^(2.9.4)

:::demo

image/manually-preview

:::

Custom Toolbar ^(2.9.4)

:::demo Custom toolbar content by toolbar slot, starting from version ^(2.9.7), the slot has a new setActiveItem function, which can be switched according to the index.

image/custom-toolbar

:::

Custom progress ^(2.9.4)

:::demo By setting the show-progress prop to control whether to display progress when previewing an image. After version ^(2.9.8), the progress content will be displayed as long as the progress slot is used.

image/custom-progress

:::

Image API

Image Attributes

Name Description Type Default
src image source, same as native. ^[string] ''
fit indicate how the image should be resized to fit its container, same as object-fit. ^[enum]'' | 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' ''
hide-on-click-modal when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode. ^[boolean] false
loading ^(2.2.3) Indicates how the browser should load the image, same as native. ^[enum]'eager' | 'lazy'
lazy whether to use lazy load. ^[boolean] false
scroll-container the container to add scroll listener when using lazy load. By default, the container to add scroll listener when using lazy load. ^[string] / ^[object]HTMLElement
alt native attribute alt. ^[string]
referrerpolicy native attribute referrerPolicy. ^[string]
crossorigin native attribute crossorigin. ^[enum]'' | 'anonymous' | 'use-credentials'
preview-src-list allow big image preview. ^[object]string[] []
z-index set image preview z-index. ^[number]
initial-index initial preview image index, less than the length of url-list. ^[number] 0
close-on-press-escape whether the image-viewer can be closed by pressing ESC. ^[boolean] true
preview-teleported whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to true. ^[boolean] false
infinite whether the viewer preview is infinite. ^[boolean] true
zoom-rate the zoom rate of the image viewer zoom event. ^[number] 1.2
scale ^(2.11.3) the preview image scale. ^[number] 1
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
show-progress ^(2.9.4) whether to display the preview image progress content. ^[boolean] false

Image Events

Name Description Type
load same as native load. ^[Function](e: Event) => void
error same as native error. ^[Function](e: Event) => void
switch trigger when switching images. ^[Function](index: number) => void
close trigger when clicking on close button or when hide-on-click-modal enabled clicking on backdrop. ^[Function]() => void
show trigger when the viewer displays ^[Function]() => void

Image Slots

Name Description Type
placeholder custom placeholder content when image hasn't loaded yet. -
error custom image load failed content. -
image viewer slots when you allow big image preview, image viewer slots all can be used. -

Image Exposes

Name Description Type
showPreview ^(2.9.4) manually open preview big image ^[Function]() => void

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
scale ^(2.11.3) the preview image scale. ^[number] 1
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

Name Description Type
close trigger when clicking on close button or when hide-on-click-modal enabled clicking on backdrop. ^[Function]() => void
error ^(2.11.3) same as native error. ^[Function](e: Event) => void
switch trigger when switching images. ^[Function](index: number) => void
rotate ^(2.3.13) trigger when rotating images. ^[Function](deg: number) => void

Image Viewer Slots

Name Description Type
viewer custom content -
progress ^(2.9.4) custom progress content (Priority is higher than show-progress prop) ^[object]{ activeIndex: number, total: number }
toolbar ^(2.9.4) custom toolbar content ^[object]{actions: (action: ImageViewerAction, options?: ImageViewerActionOptions ) => void, prev: ()=> void, next: () => void,reset: () => void, activeIndex: number }, setActiveItem: (index: number) => void
viewer-error ^(2.11.3) custom image load failed content. ^[object]{ activeIndex: number, src: string }

Image Viewer Exposes

Name Description Type
setActiveItem manually switch image ^[Function](index: number) => void

Type Declarations

Show declarations
type ImageViewerAction = 'zoomIn' | 'zoomOut' | 'clockwise' | 'anticlockwise'
type ImageViewerActionOptions = {
  enableTransition?: boolean
  zoomRate?: number
  rotateDeg?: number
}