跳到主要内容

图片 Image

图片容器,在保留原生 img 的特性下,支持懒加载,自定义占位、加载失败等。

安装使用

import { TiImage } from '@titian-design/mobile-react'

用法示例

基础用法
codesanbox
copy
code
自定义圆角
当 radius 使用 token 值时,会跟随全局的 token 变量而变化。
codesanbox
copy
code
图片比例(宽高比)
aspectRatio设置inherit,可跟随全局比例风格,即受控于css变量--image-aspect-ratio;也可以设置具体的宽高比。
codesanbox
copy
code
填充模式
codesanbox
copy
code
懒加载
codesanbox
copy
code
加载中提示
codesanbox
copy
code

TiImage API

属性 Properties

名称类型必填默认值说明备注
srcstring-图片资源地址-
modestringscaleToFill图片填充模式,可选类型-
widthstring | number-宽度,默认单位为 px-
heightstring | number-高度,默认单位为 px-
radiusstring-圆角,默认单位为 px-
showLoadingbooleanfalse是否展示图片加载中提示-
showErrorbooleanfalse是否展示图片加载失败提示-
loadingIconstringdefault-pic加载中显示的图标-
errorIconstringdefault-pic加载失败显示的图标-
loadingIconSizenumber72加载中显示的图标,尺寸-
errorIconSizenumber72加载失败显示的图标,尺寸-
useLoadingSlotbooleanfalse使用 loading 插槽-
useErrorSlotbooleanfalse使用 error 插槽-
lazyLoadbooleanfalse图片懒加载,在即将进入一定范围(上下三屏)时才开始加载-
aspectRatiostring number-1宽高比,如果设置为inherit,可跟随全局比例风格,即受控于css变量--image-aspect-ratio-
extStylestring | Record<string, string>-根节点样式-

图片填充模式(mode)

名称含义
contain同 aspectFit, 保持宽高缩放图片,使图片的长边能完全显示出来
cover同 aspectFill, 保持宽高缩放图片,使图片的短边能完全显示出来,裁剪长边
fill同 scaleToFill,拉伸图片,使图片填满元素
none同 center,保持图片原有尺寸
scaleDown内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些
top裁剪模式,不缩放图片,只显示图片的顶部区域
bottom裁剪模式,不缩放图片,只显示图片的底部区域
center裁剪模式,不缩放图片,只显示图片的中间区域
left裁剪模式,不缩放图片,只显示图片的左边区域
right裁剪模式,不缩放图片,只显示图片的右边区域
top left裁剪模式,不缩放图片,只显示图片的左上边区域
top right裁剪模式,不缩放图片,只显示图片的右上边区域
bottom left裁剪模式,不缩放图片,只显示图片的左下边区域
bottom right裁剪模式,不缩放图片,只显示图片的右下边区域

事件 Events

名称参数列表描述备注
onLoad(e: CustomEvent<{width: number, height: number}>) => void当图片载入完毕时触发-
onError(e: CustomEvent) => void当错误发生时触发-

插槽 Slots

名称说明备注
loading加载中展示-
error加载失败展示-

外部样式类 External Classes

名称说明备注
extClass根节点样式类-

CSS 变量 CSS Variable

变量默认值说明备注
--image-aspect-ratio1图片比例,aspectRatio属性为inherit下生效,一般设置在项目根节点,作用于全局-
--image-text-font-sizetheme.fontSize.t6loading和加载失败文字大小-