主题
LimeImage 图片加强版
在原来的image组件基础上,增加了UI加载状态(加载中、加载失败)和图片形状等功能,提供了更好的用户体验和更丰富的展示效果。
插件依赖:
lime-shared
文档链接
📚 组件详细文档请访问以下站点:
安装方法
注意🔔
本插件依赖的【lime-svg】是原生插件,如果购买(收费为6元)则需要自定义基座,才能使用,若不需要删除即可
代码演示
基础使用
使用方式与原生image组件类似,支持所有原生image的属性。
html
<l-image mode="widthFix" src="https://picsum.photos/200/300?random=lime" />
js
export default {
data() {
return {
// 示例数据
}
},
methods: {
onImageLoad(event) {
console.log('图片加载成功', event);
},
onImageError(event) {
console.log('图片加载失败', event);
}
}
}
自定义加载状态
可以通过插槽自定义加载中和加载失败的状态显示。
html
<l-image mode="widthFix" src="https://picsum.photos/200/300?random=lime">
<template #loading>
<text>加载中...</text>
</template>
<template #error>
<text>加载失败</text>
</template>
</l-image>
图片形状
通过shape
属性可以设置图片的形状,支持square
(方形)、round
(圆角)、circle
(圆形)。
html
<!-- 方形图片(默认) -->
<l-image shape="square" src="https://picsum.photos/200/300?random=lime1" />
<!-- 圆角图片 -->
<l-image shape="round" src="https://picsum.photos/200/300?random=lime2" />
<!-- 圆形图片 -->
<l-image shape="circle" src="https://picsum.photos/200/300?random=lime3" />
设置尺寸
可以通过width
和height
属性设置图片的尺寸。
html
<l-image width="200" height="150" src="https://picsum.photos/200/300?random=lime" />
快速预览
导入插件后,可以直接使用以下标签查看演示效果:
html
<!-- 代码位于 uni_modules/lime-image/components/lime-image -->
<lime-image />
Vue2使用说明
本插件使用了composition-api
,如需在Vue2项目中使用,请按照官方教程配置。
关键配置代码(在main.js中添加):
js
// vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)
API文档
Props
组件支持所有内置image组件的属性,以下是额外增强的属性:
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
src | 图片地址 | string | - |
mode | 图片裁剪、缩放的模式,同原生image组件 | string | - |
shape | 图片形状:square (方形)、round (圆角)、circle (圆形) | string | square |
width | 图片宽度 | number | - |
height | 图片高度 | number | - |
lazy-load | 是否懒加载 | boolean | false |
fade-show | 是否淡入显示 | boolean | false |
webp | 是否优先使用webp格式 | boolean | false |
show-menu-by-longpress | 是否开启长按图片显示识别小程序码菜单 | boolean | false |
Events
事件名 | 说明 | 回调参数 |
---|---|---|
load | 图片加载成功时触发 | event: { detail: object } |
error | 图片加载失败时触发 | event: { detail: object } |
Slots
名称 | 说明 |
---|---|
loading | 自定义加载中的内容 |
error | 自定义加载失败的内容 |
常用图片模式说明
模式 | 说明 |
---|---|
scaleToFill | 不保持纵横比缩放图片,使图片完全适应宽高限制 |
aspectFit | 保持纵横比缩放图片,使图片的长边完全显示出来 |
aspectFill | 保持纵横比缩放图片,只保证图片的短边能完全显示出来 |
widthFix | 宽度不变,高度自动变化,保持原图宽高比不变 |
heightFix | 高度不变,宽度自动变化,保持原图宽高比不变 |
top | 不缩放图片,只显示图片的顶部区域 |
bottom | 不缩放图片,只显示图片的底部区域 |
center | 不缩放图片,只显示图片的中间区域 |
left | 不缩放图片,只显示图片的左边区域 |
right | 不缩放图片,只显示图片的右边区域 |
top left | 不缩放图片,只显示图片的左上边区域 |
top right | 不缩放图片,只显示图片的右上边区域 |
bottom left | 不缩放图片,只显示图片的左下边区域 |
bottom right | 不缩放图片,只显示图片的右下边区域 |
主题定制
组件提供了CSS变量,可以通过自定义CSS变量来自定义组件样式:
变量名称 | 默认值 | 描述 |
---|---|---|
--l-image-color | $text-color-3 | 图片组件的默认颜色(用于加载和错误状态) |
--l-image-loading-bg-color | $fill-3 | 图片加载时的背景颜色 |
--l-image-loading-color | $text-color-4 | 加载动画的颜色(uniappx app无效) |
--l-image-round-radius | $border-radius | 圆角图片的圆角半径 |
--l-image-circle-radius | $border-radius-hg | 圆形图片的圆角半径 |
支持与赞赏
如果你觉得本插件解决了你的问题,可以考虑支持作者:
支付宝赞助 | 微信赞助 |
---|---|
![]() | ![]() |