diff --git a/docs/component/img.md b/docs/component/img.md
index b2921d2ad..95a33d254 100644
--- a/docs/component/img.md
+++ b/docs/component/img.md
@@ -1,10 +1,9 @@
-# Img 图片
+# Img 图片
增强版的 img 标签,提供多种图片填充模式,支持图片懒加载、加载完成、加载失败
-
## 基本用法
基础用法与原生 image 标签一致,可以设置 `src` 、 `width` 、`height` 等原生属性。
@@ -30,6 +29,46 @@
const joy = 'data:image/jpeg;base64,...' // 图片文件base64
```
+## 插槽
+
+使用`loading` `error`插槽设置在图片加载时、加载失败后的展示内容
+
+```vue
+
+
+
+
+ 加载失败
+
+
+
+
+
+
+
+
+
+
+
+```
+
## 填充模式
通过 `mode` 属性可以设置图片填充模式,可选值见下方表格。
@@ -73,27 +112,34 @@ mode为小程序原生属性,参考[微信小程序image官方文档](https://
## Attributes
-| 参数 | 说明 | 类型 | 可选值 | 默认值 | 最低版本 |
-|-----|------|-----|-------|-------|---------|
-| src | 图片链接 | string | - | - | - |
-| width | 宽度,默认单位为px | number / string | - | - | - |
-| height | 高度,默认单位为px | number / string | - | - | - |
-| mode | 填充模式 | ImageMode | 'top left' / 'top right' / 'bottom left' / 'bottom right' / 'right' / 'left' / 'center' / 'bottom' / 'top' / 'heightFix' / 'widthFix' / 'aspectFill' / 'aspectFit' / 'scaleToFill' | 'scaleToFill' | - |
-| round | 是否显示为圆形 | boolean | - | false | - |
-| radius | 圆角大小,默认单位为px | number / string | - | - | - |
-| enable-preview | 是否支持点击预览 | boolean | - | false | 1.2.11 |
+| 参数 | 说明 | 类型 | 可选值 | 默认值 | 最低版本 |
+| -------------- | ---------------------- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | -------- |
+| src | 图片链接 | string | - | - | - |
+| width | 宽度,默认单位为px | number / string | - | - | - |
+| height | 高度,默认单位为px | number / string | - | - | - |
+| mode | 填充模式 | ImageMode | 'top left' / 'top right' / 'bottom left' / 'bottom right' / 'right' / 'left' / 'center' / 'bottom' / 'top' / 'heightFix' / 'widthFix' / 'aspectFill' / 'aspectFit' / 'scaleToFill' | 'scaleToFill' | - |
+| round | 是否显示为圆形 | boolean | - | false | - |
+| radius | 圆角大小,默认单位为px | number / string | - | - | - |
+| enable-preview | 是否支持点击预览 | boolean | - | false | 1.2.11 |
## Events
-| 事件名称 | 说明 | 参数 | 最低版本 |
-|---------|-----|-----|---------|
-| click | 点击事件 | - | - |
-| load | 当图片载入完毕时触发 | ` {height, width}` | - |
-| error | 当错误发生时触发 | `{errMsg}` | - |
+| 事件名称 | 说明 | 参数 | 最低版本 |
+| -------- | -------------------- | ----------------- | -------- |
+| click | 点击事件 | - | - |
+| load | 当图片载入完毕时触发 | `{height, width}` | - |
+| error | 当错误发生时触发 | `{errMsg}` | - |
+
+## Slots
+
+| 名称 | 说明 | 最低版本 |
+| ------- | ------------------ | ---------------- |
+| loading | 图片加载时展示 | $LOWEST_VERSION$ |
+| error | 图片加载失败后展示 | $LOWEST_VERSION$ |
## 外部样式类
-| 类名 | 说明 | 最低版本 |
-|-----|------|--------|
-| custom-class | 根节点样式 | - |
-| custom-image| image 外部自定义样式 | - |
+| 类名 | 说明 | 最低版本 |
+| ------------ | -------------------- | -------- |
+| custom-class | 根节点样式 | - |
+| custom-image | image 外部自定义样式 | - |
diff --git a/src/pages/img/Index.vue b/src/pages/img/Index.vue
index 30491cf45..aa01438af 100644
--- a/src/pages/img/Index.vue
+++ b/src/pages/img/Index.vue
@@ -14,6 +14,20 @@
+
+
+
+
+ 加载失败
+
+
+
+
+
+
+
+
+
@@ -78,4 +92,21 @@ const modes: ImageMode[] = [
border: 1px solid red;
margin: 0 10px;
}
+
+.error-wrap {
+ width: 100%;
+ height: 100%;
+ background-color: red;
+ color: white;
+ line-height: 100px;
+ text-align: center;
+}
+
+.loading-wrap {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
diff --git a/src/uni_modules/wot-design-uni/components/wd-img/wd-img.vue b/src/uni_modules/wot-design-uni/components/wd-img/wd-img.vue
index bae160375..73c95b673 100644
--- a/src/uni_modules/wot-design-uni/components/wd-img/wd-img.vue
+++ b/src/uni_modules/wot-design-uni/components/wd-img/wd-img.vue
@@ -1,6 +1,16 @@
-
+
+
+