From f801f4fb11ff8ca08417a9ddf0231fb570fa26e3 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 24 七月 2023 16:47:51 +0800 Subject: [PATCH] fix 修复 固定页面header穿模问题 --- src/components/IconSelect/index.vue | 79 +++++++++++++++++++-------------------- 1 files changed, 38 insertions(+), 41 deletions(-) diff --git a/src/components/IconSelect/index.vue b/src/components/IconSelect/index.vue index 97c601e..c53b437 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 閫夋嫨鐨勫浘鏍囧悕绉� @@ -42,37 +66,6 @@ visible.value = false; } </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-divider--horizontal { @@ -101,5 +94,9 @@ transform: scaleX(1.1); } } + .active { + border-color: var(--el-color-primary); + color: var(--el-color-primary); + } } </style> -- Gitblit v1.9.3