From d12d21c46deede13af4b5588e756054b91b623c9 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 02 九月 2023 12:46:07 +0800
Subject: [PATCH] !38 fix #I7WUYJ 菜单切换主题为浅色主题后颜色不正常 Merge pull request !38 from ahaos/tspr

---
 src/components/IconSelect/index.vue |   83 +++++++++++++++++++++--------------------
 1 files changed, 42 insertions(+), 41 deletions(-)

diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue
index 97c601e..a275954 100644
--- a/src/components/IconSelect/index.vue
+++ b/src/components/IconSelect/index.vue
@@ -1,16 +1,41 @@
+<template>
+  <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" />
+      </template>
+    </el-input>
+
+    <el-popover shadow="none" :visible="visible" placement="bottom-end" trigger="click" :width="450">
+      <template #reference>
+        <div @click="visible = !visible" class="cursor-pointer text-[#999] absolute right-[10px] top-0 height-[32px] leading-[32px]">
+          <i-ep-caret-top v-show="visible"></i-ep-caret-top>
+          <i-ep-caret-bottom v-show="!visible"></i-ep-caret-bottom>
+        </div>
+      </template>
+
+      <el-input class="p-2" v-model="filterValue" placeholder="鎼滅储鍥炬爣" clearable @input="filterIcons" />
+
+      <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', {active: modelValue == iconName}]" @click="selectedIcon(iconName)">
+              <svg-icon color="var(--el-text-color-regular)" :icon-class="iconName" />
+            </li>
+          </el-tooltip>
+        </ul>
+      </el-scrollbar>
+    </el-popover>
+  </div>
+</template>
+
 <script setup lang="ts">
 import icons from '@/components/IconSelect/requireIcons';
+import { propTypes } from '@/utils/propTypes';
 
 const props = defineProps({
-  modelValue: {
-    type: String,
-    require: true
-  },
-  width: {
-    type: String,
-    require: false,
-    default: '400px'
-  }
+  modelValue: propTypes.string.isRequired,
+  width: propTypes.string.def('400px')
 });
 
 const emit = defineEmits(['update:modelValue']);
@@ -32,7 +57,6 @@
     iconNames.value = icons;
   }
 }
-
 /**
  * 閫夋嫨鍥炬爣
  * @param iconName 閫夋嫨鐨勫浘鏍囧悕绉�
@@ -43,38 +67,11 @@
 }
 </script>
 
-<template>
-	<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>
-			</template>
-		</el-input>
-
-		<el-popover shadow="none" :visible="visible" placement="bottom-end" trigger="click" :width="450">
-			<template #reference>
-				<div @click="visible = !visible" class="cursor-pointer text-[#999] absolute right-[10px] top-0 height-[32px] leading-[32px]">
-					<i-ep-caret-top v-show="visible"></i-ep-caret-top>
-					<i-ep-caret-bottom v-show="!visible"></i-ep-caret-bottom>
-				</div>
-			</template>
-
-			<el-input class="p-2" v-model="filterValue" placeholder="鎼滅储鍥炬爣" clearable @input="filterIcons" />
-
-			<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)">
-							<svg-icon color="var(--el-text-color-regular)" :icon-class="iconName" />
-						</li>
-					</el-tooltip>
-				</ul>
-			</el-scrollbar>
-		</el-popover>
-	</div>
-</template>
-
 <style scoped lang="scss">
+.el-scrollbar {
+  max-height: calc(50vh - 100px)!important;
+  overflow-y: auto;
+}
 .el-divider--horizontal {
   margin: 10px auto !important;
 }
@@ -101,5 +98,9 @@
       transform: scaleX(1.1);
     }
   }
+  .active {
+      border-color: var(--el-color-primary);
+      color: var(--el-color-primary);
+    }
 }
 </style>

--
Gitblit v1.9.3