mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-08 01:17:23 +08:00
perf: 优化图标选择器IconSelect
组件 (#554)
* fix: 修复图标选择器未能正确初始化的问题(fix: #552) * Update Select.vue --------- Co-authored-by: xiaoming <1923740402@qq.com>
This commit is contained in:
parent
730bae4bdb
commit
d5fdc0449a
@ -105,7 +105,8 @@ watch(
|
|||||||
props.modelValue.indexOf(":") + 1
|
props.modelValue.indexOf(":") + 1
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
{ immediate: true }
|
||||||
);
|
);
|
||||||
watch(
|
watch(
|
||||||
() => {
|
() => {
|
||||||
@ -140,12 +141,11 @@ watch(
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-input
|
<el-input
|
||||||
class="p-2"
|
class="px-2 pt-2"
|
||||||
v-model="filterValue"
|
v-model="filterValue"
|
||||||
placeholder="搜索图标"
|
placeholder="搜索图标"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
<el-divider border-style="dashed" />
|
|
||||||
|
|
||||||
<el-tabs v-model="currentActiveType" @tab-click="handleClick">
|
<el-tabs v-model="currentActiveType" @tab-click="handleClick">
|
||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
@ -154,24 +154,26 @@ watch(
|
|||||||
:label="pane.label"
|
:label="pane.label"
|
||||||
:name="pane.name"
|
:name="pane.name"
|
||||||
>
|
>
|
||||||
<el-divider class="tab-divider" border-style="dashed" />
|
|
||||||
<el-scrollbar height="220px">
|
<el-scrollbar height="220px">
|
||||||
<ul class="flex flex-wrap px-2 ml-2">
|
<ul class="flex flex-wrap px-2 ml-2">
|
||||||
<li
|
<li
|
||||||
v-for="(item, key) in pageList"
|
v-for="(item, key) in pageList"
|
||||||
:key="key"
|
:key="key"
|
||||||
:title="item"
|
:title="item"
|
||||||
class="icon-item p-2 w-[1/10] cursor-pointer mr-2 mt-1 flex justify-center items-center border border-solid"
|
class="icon-item p-2 cursor-pointer mr-2 mt-1 flex justify-center items-center border border-solid"
|
||||||
:style="iconItemStyle(item)"
|
:style="iconItemStyle(item)"
|
||||||
@click="onChangeIcon(item)"
|
@click="onChangeIcon(item)"
|
||||||
>
|
>
|
||||||
<IconifyIconOnline :icon="currentActiveType + item" />
|
<IconifyIconOnline
|
||||||
|
:icon="currentActiveType + item"
|
||||||
|
width="20px"
|
||||||
|
height="20px"
|
||||||
|
/>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<el-divider border-style="dashed" />
|
|
||||||
|
|
||||||
<el-pagination
|
<el-pagination
|
||||||
small
|
small
|
||||||
@ -190,14 +192,6 @@ watch(
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.el-divider--horizontal {
|
|
||||||
margin: 1px auto !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-divider.el-divider--horizontal {
|
|
||||||
margin: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon-item {
|
.icon-item {
|
||||||
&:hover {
|
&:hover {
|
||||||
color: var(--el-color-primary);
|
color: var(--el-color-primary);
|
||||||
@ -234,5 +228,10 @@ watch(
|
|||||||
:deep(.el-tabs__nav-wrap) {
|
:deep(.el-tabs__nav-wrap) {
|
||||||
position: static;
|
position: static;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06);
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-tabs__content) {
|
||||||
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user