diff --git a/src/image-viewer/image-viewer.less b/src/image-viewer/image-viewer.less
index 0a297eb7d..ee9c3a36a 100644
--- a/src/image-viewer/image-viewer.less
+++ b/src/image-viewer/image-viewer.less
@@ -68,10 +68,17 @@
&-close {
margin-left: @image-viewer-close-margin-left; // 关闭操作按钮左部间距
+
+ &:empty {
+ display: none;
+ }
}
&-delete {
margin-right: @image-viewer-delete-margin-right; // 删除操作按钮右部间距
+ &:empty {
+ display: none;
+ }
}
&-close,
diff --git a/src/image-viewer/image-viewer.ts b/src/image-viewer/image-viewer.ts
index 2fa3078ce..7e70188d2 100644
--- a/src/image-viewer/image-viewer.ts
+++ b/src/image-viewer/image-viewer.ts
@@ -1,4 +1,4 @@
-import { styles, setIcon } from '../common/utils';
+import { styles, calcIcon } from '../common/utils';
import { SuperComponent, wxComponent } from '../common/src/index';
import config from '../common/config';
import props from './props';
@@ -45,17 +45,15 @@ export default class ImageViewer extends SuperComponent {
});
},
- closeBtn(closeBtn) {
- const obj = setIcon('closeBtn', closeBtn, 'close');
+ closeBtn(v) {
this.setData({
- ...obj,
+ _closeBtn: calcIcon(v, 'close'),
});
},
- deleteBtn(deleteBtn) {
- const obj = setIcon('deleteBtn', deleteBtn, 'delete');
+ deleteBtn(v) {
this.setData({
- ...obj,
+ _deleteBtn: calcIcon(v, 'delete'),
});
},
};
@@ -132,8 +130,9 @@ export default class ImageViewer extends SuperComponent {
this._trigger('change', { index: current });
},
- onClose() {
- this._trigger('close', { visible: false, trigger: 'button', index: this.data.currentSwiperIndex });
+ onClose(e) {
+ const { source } = e.currentTarget.dataset;
+ this._trigger('close', { visible: false, trigger: source || 'button', index: this.data.currentSwiperIndex });
},
onDelete() {
diff --git a/src/image-viewer/image-viewer.wxml b/src/image-viewer/image-viewer.wxml
index 40372e607..fc0e3e7f2 100644
--- a/src/image-viewer/image-viewer.wxml
+++ b/src/image-viewer/image-viewer.wxml
@@ -2,7 +2,12 @@
-
+
-
+
-
-
-
+
+
+
{{currentSwiperIndex + 1}}/{{images.length}}
-
-
-
+
+
+