From bf4a8543ca9f4e9ef6d13f78385f5c0f30255dc0 Mon Sep 17 00:00:00 2001
From: LiuHao <liuhaoai545@gmail.com>
Date: 星期六, 06 五月 2023 09:25:05 +0800
Subject: [PATCH] Merge branch 'ts' into dev

---
 src/components/IconSelect/index.vue |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue
index 330c44f..22b9484 100644
--- a/src/components/IconSelect/index.vue
+++ b/src/components/IconSelect/index.vue
@@ -2,7 +2,7 @@
   <div class="relative" :style="{ width: width }">
     <el-input v-model="modelValue" readonly @click="visible = !visible" placeholder="鐐瑰嚮閫夋嫨鍥炬爣">
       <template #prepend>
-        <svg-icon :icon-class="modelValue as string"></svg-icon>
+        <svg-icon :icon-class="modelValue as string" />
       </template>
     </el-input>
 
@@ -19,7 +19,7 @@
       <el-scrollbar height="w-[200px]">
         <ul class="icon-list">
           <el-tooltip v-for="(iconName, index) in iconNames" :key="index" :content="iconName" placement="bottom" effect="light">
-            <li class="icon-item" @click="selectedIcon(iconName)">
+            <li :class="['icon-item', {active: modelValue == iconName}]" @click="selectedIcon(iconName)">
               <svg-icon color="var(--el-text-color-regular)" :icon-class="iconName" />
             </li>
           </el-tooltip>
@@ -33,15 +33,15 @@
 import icons from '@/components/IconSelect/requireIcons';
 
 const props = defineProps({
-    modelValue: {
-        type: String,
-        require: true
-    },
-    width: {
-        type: String,
-        require: false,
-        default: '400px'
-    }
+  modelValue: {
+    type: String,
+    require: true
+  },
+  width: {
+    type: String,
+    require: false,
+    default: '400px'
+  }
 });
 
 const emit = defineEmits(['update:modelValue']);
@@ -55,22 +55,21 @@
  * 绛涢�夊浘鏍�
  */
 const filterIcons = () => {
-    if (filterValue.value) {
-        iconNames.value = icons.filter(iconName =>
-            iconName.includes(filterValue.value)
-        );
-    } else {
-        iconNames.value = icons;
-    }
+  if (filterValue.value) {
+    iconNames.value = icons.filter(iconName =>
+      iconName.includes(filterValue.value)
+    );
+  } else {
+    iconNames.value = icons;
+  }
 }
-
 /**
  * 閫夋嫨鍥炬爣
  * @param iconName 閫夋嫨鐨勫浘鏍囧悕绉�
  */
 const selectedIcon = (iconName: string) => {
-    emit('update:modelValue', iconName);
-    visible.value = false;
+  emit('update:modelValue', iconName);
+  visible.value = false;
 }
 </script>
 
@@ -101,5 +100,9 @@
       transform: scaleX(1.1);
     }
   }
+  .active {
+      border-color: var(--el-color-primary);
+      color: var(--el-color-primary);
+    }
 }
 </style>

--
Gitblit v1.9.3