最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3 封裝 element-plus 圖標(biāo)選擇器實(shí)現(xiàn)步驟

 更新時(shí)間:2023年09月19日 09:56:32   作者:大可-  
這篇文章主要介紹了Vue3 封裝 element-plus 圖標(biāo)選擇器,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、實(shí)現(xiàn)效果

二、實(shí)現(xiàn)步驟

2.1. 全局注冊(cè) icon 組件

// main.ts
import App from './App.vue';
import { createApp } from 'vue';
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
const app = createApp(App);
// 全局掛載和注冊(cè) element-plus 的所有 icon
app.config.globalProperties.$icons = []
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.config.globalProperties.$icons.push(key)
    app.component(key, component)
}
app.mount('#app');

2.2. 組件實(shí)現(xiàn)

<script setup lang="ts">
import { ComponentInternalInstance, defineEmits, defineProps, getCurrentInstance } from 'vue'
const { appContext: {app: { config: { globalProperties } } } } = getCurrentInstance() as ComponentInternalInstance
interface Props {
  modelValue: string
}
const props = defineProps<Props>()
const emits = defineEmits(['update:modelValue'])
</script>
<template>
  <el-popover trigger="focus" :width="256">
    <template #reference>
      <el-button :icon="modelValue">{{ modelValue }}</el-button>
    </template>
    <div class="el-icon-picker">
      <component v-for="icon in globalProperties.$icons" :key="icon"
        :class="[icon, 'icon', { 'icon-active': icon == modelValue }]"
        :is="icon"
        @click="emits('update:modelValue', icon)">
      </component>
    </div>
  </el-popover>
</template>
<style scoped>
.el-icon-picker {
  height: 256px;
  overflow-y: scroll;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  color: var(--el-text-color-regular);
  font-size: 20px;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  line-height: 45px;
  margin: 5px;
}
.icon:hover {
  color: var(--el-color-primary);
}
.icon-active {
  color: var(--el-color-primary);
}
</style>

2.3. 使用

<script setup lang="ts">
import { ref } from 'vue';
import ElIconPicker from './components/el-icon-picker.vue';
const icon = ref<string>('');
</script>
<template>
  <el-form>
    <el-form-item label="圖標(biāo)">
      <ElIconPicker v-model="icon"></ElIconPicker>
    </el-form-item>
  </el-form>
</template>

到此這篇關(guān)于Vue3 封裝 element-plus 圖標(biāo)選擇器的文章就介紹到這了,更多相關(guān)Vue3 element-plus 圖標(biāo)選擇器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)點(diǎn)擊當(dāng)前標(biāo)簽高亮效果【推薦】

    vue實(shí)現(xiàn)點(diǎn)擊當(dāng)前標(biāo)簽高亮效果【推薦】

    這篇文章主要介紹了vue實(shí)現(xiàn)點(diǎn)擊當(dāng)前標(biāo)簽高亮效果的思路詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-06-06
  • vue實(shí)現(xiàn)計(jì)步器功能

    vue實(shí)現(xiàn)計(jì)步器功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)計(jì)步器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Vue中的 mixins 和 provide/inject詳解

    Vue中的 mixins 和 provide/inject詳解

    這篇文章主要介紹了Vue中的 mixins 和 provide/inject詳解,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • vue 插件的方法代碼詳解

    vue 插件的方法代碼詳解

    在開發(fā)項(xiàng)目的時(shí)候,我們一般都用 vue-cli 來(lái)避免繁瑣的 webpack 配置和 template 配置。這篇文章主要介紹了如何寫一個(gè) vue 插件,需要的朋友可以參考下
    2019-06-06
  • vue.js添加一些觸摸事件以及安裝fastclick的實(shí)例

    vue.js添加一些觸摸事件以及安裝fastclick的實(shí)例

    今天小編就為大家分享一篇vue.js添加一些觸摸事件以及安裝fastclick的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 基于vue3與supabase系統(tǒng)認(rèn)證機(jī)制詳解

    基于vue3與supabase系統(tǒng)認(rèn)證機(jī)制詳解

    這篇文章主要介紹了基于vue3與supabase系統(tǒng)認(rèn)證機(jī)制,,系統(tǒng)使用基于 JWT (JSON Web Token) 的認(rèn)證方式,提供了安全可靠的用戶身份管理機(jī)制,需要的朋友可以參考下
    2025-04-04
  • Vue之綁定class樣式與style樣式方式

    Vue之綁定class樣式與style樣式方式

    這篇文章主要介紹了Vue之綁定class樣式與style樣式方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)層級(jí)結(jié)構(gòu)與用法示例

    Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)

    最近在使用Element開發(fā)時(shí)遇到了不少問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Element?ui中menu組件(el-menu/el-menu-item/el-submenu/template)層級(jí)結(jié)構(gòu)與用法的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Vue3中ref和reactive的使用場(chǎng)景詳解

    Vue3中ref和reactive的使用場(chǎng)景詳解

    這篇文章主要介紹了Vue3中ref和reactive的使用場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • iphone劉海屏頁(yè)面適配方法

    iphone劉海屏頁(yè)面適配方法

    這篇文章主要介紹了iphone劉海屏頁(yè)面適配方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

庆阳市| 许昌县| 井研县| 榕江县| 泾源县| 北碚区| 依兰县| 瓮安县| 子洲县| 武陟县| 双江| 凭祥市| 韶关市| 托克托县| 石林| 白水县| 花莲县| 郎溪县| 色达县| 阳谷县| 潼关县| 合作市| 普定县| 马关县| 辛集市| 沽源县| 三台县| 开封市| 广东省| 五峰| 镇坪县| 汕尾市| 石渠县| 江山市| 浪卡子县| 阆中市| 郸城县| 婺源县| 鲁山县| 新宁县| 京山县|