图片

Image 组件用于显示图片,并支持备用图片。


安装

npx nextui-cli@latest add image
以上命令仅用于单独安装。如果 @nextui-org/react 已全局安装,则可以跳过此步骤。

导入

使用

模糊

您可以使用 isBlurred 属性复制图像并将其模糊以创建模糊效果。

缩放

您可以使用 isZoomed 属性使图像在悬停时放大。

动画加载

图像组件内置了 skeleton 动画以指示图像正在加载,以及图像加载时的 opacity 动画。

注意: URL 使用 https://app.requestly.io/delay 模拟慢速网络。

带有备用图片的图片

您可以使用 fallbackSrc 属性在以下情况下显示备用图片:

  • 提供 fallbackSrc 属性。
  • src 中提供的图片仍在加载。
  • src 中提供的图片加载失败。
  • src 中提供的图片未找到。

使用 Next.js Image

Next.js 提供了一个优化的 Image 组件,您也可以在 NextUI 的 Image 组件中使用它。

注意: NextUI 的 Image 组件是 客户端 的,使用 useState 等钩子来处理加载状态和动画。如果不需要这些功能,请单独使用 Next.js 的 Image

插槽

  • img: 图片元素的插槽。
  • wrapper: 图片包装器,它处理对齐、放置和整体外观。
  • zoomedWrapper: 放大图片的包装器插槽,它避免图片内容溢出父容器。
  • blurredImg: 复制的模糊图片的包装器插槽。

API

图片属性

属性类型描述默认值
src字符串图片源。-
srcSet字符串图片的 srcSet 属性。-
sizes字符串图片的 sizes 属性。-
alt字符串图片的 alt 属性。-
width数字图片的宽度。-
height数字图片的高度。-
radiusnone | sm | md | lg | full图片的圆角。xl
shadownone | sm | md | lg图片的阴影。none
loadingeager | lazy用于图片的加载策略。-
fallbackSrc字符串备用图片源。-
isBlurred布尔值图片是否应该在背景中有一个重复的模糊图像。false
isZoomed布尔值图片是否应该在悬停时放大。false
removeWrapper布尔值是否移除包装元素。这将导致图片作为父元素的直接子元素呈现。如果将此属性设置为 true,则骨架和缩放效果都不会起作用。false
disableSkeleton布尔值图片是否应该在加载时禁用骨架动画。false
classNamesRecord<"img"| "wrapper"| "zoomedWrapper"| "blurredImg", string>允许为图像插槽设置自定义类名。-

图像事件

属性类型描述
onLoadReactEventHandler<HTMLImageElement>图像加载时调用的处理程序。
onError() => void图像加载失败时调用的处理程序。