From 5036880fc037e5d112206b93a729f60be12bf8ab Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 07 十一月 2024 17:03:13 +0800
Subject: [PATCH] 2024.11.07 bug修复

---
 miniprogram_npm/tdesign-miniprogram/icon/icon.js |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/miniprogram_npm/tdesign-miniprogram/icon/icon.js b/miniprogram_npm/tdesign-miniprogram/icon/icon.js
index 45f782c..935f9d4 100644
--- a/miniprogram_npm/tdesign-miniprogram/icon/icon.js
+++ b/miniprogram_npm/tdesign-miniprogram/icon/icon.js
@@ -4,10 +4,19 @@
     else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
     return c > 3 && r && Object.defineProperty(target, key, r), r;
 };
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
 import { SuperComponent, wxComponent } from '../common/src/index';
 import config from '../common/config';
 import props from './props';
-import { styles, addUnit } from '../common/utils';
+import { styles, addUnit, getRect } from '../common/utils';
 const { prefix } = config;
 const name = `${prefix}-icon`;
 let Icon = class Icon extends SuperComponent {
@@ -31,15 +40,23 @@
                 this.triggerEvent('click', event.detail);
             },
             setIconStyle() {
-                const { name, color, size } = this.properties;
-                const isImage = name.indexOf('/') !== -1;
-                const sizeValue = addUnit(size);
-                const sizeStyle = isImage ? { width: sizeValue, height: sizeValue } : {};
-                const colorStyle = color ? { color: color } : {};
-                const fontStyle = size ? { 'font-size': sizeValue } : {};
-                this.setData({
-                    isImage,
-                    iconStyle: `${styles(Object.assign(Object.assign(Object.assign({}, colorStyle), fontStyle), sizeStyle))}`,
+                return __awaiter(this, void 0, void 0, function* () {
+                    const { name, color, size, classPrefix } = this.data;
+                    const isImage = name.indexOf('/') !== -1;
+                    const sizeValue = addUnit(size);
+                    const colorStyle = color ? { color: color } : {};
+                    const fontStyle = size ? { 'font-size': sizeValue } : {};
+                    const iconStyle = Object.assign(Object.assign({}, colorStyle), fontStyle);
+                    if (isImage) {
+                        const { height } = yield getRect(this, `.${classPrefix}`);
+                        const iconSize = sizeValue || addUnit(height);
+                        iconStyle.width = iconSize;
+                        iconStyle.height = iconSize;
+                    }
+                    this.setData({
+                        isImage,
+                        iconStyle: `${styles(iconStyle)}`,
+                    });
                 });
             },
         };

--
Gitblit v1.9.3