Element修改彈窗類組件的層級的實現
前情
Element,一套為開發(fā)者、設計師和產品經理準備的基于 Vue 2.0 的桌面端組件庫,在項目中我們就使用了它,非常nice
坑位
在使用Element組件的時候,一切都十分順利,但是在使用彈框類組件Popover 的時候,發(fā)現并沒有效果。
Why?
通過控制臺查看元素后發(fā)現,其實Popover是有作用的,只是被頁面上別的內容遮擋了,是因為zIndex低于頁面上其它元素所致
解決方案
通過查詢Element文擋后發(fā)現官方是有考慮到層級問題,需要指定一個初始層級,后面的彈框類組件的層級會累加+1,這樣就保證后面觸發(fā)的層級始終高于前面的組件。
Element初始化時重置層級
Element組件使用有二種方式,對于不同的使用方式解決方式不同。
完整引入 Element:
import Vue from 'vue'; import Element from 'element-ui'; Vue.use(Element, { size: 'small', zIndex: 3000 });
按需引入Element:
import Vue from 'vue'; import { Button } from 'element-ui'; Vue.prototype.$ELEMENT = { size: 'small', zIndex: 3000 }; Vue.use(Button);
官方文擋-全局配置項:https://element.eleme.cn/#/zh-CN/component/quickstart
如果Element已經初始化且已使用過彈框類組件
這種情況下通過修改Vue.prototype.$ELEMENT已經沒有效果了,因為它已經被使用過,這時需要手動修改,后面彈窗的組件會在此值的基礎上累加,代碼如下:
import PopupManager from "element-ui/lib/utils/popup/popup-manager"; PopupManager.zIndex = 30000;
到此這篇關于Element修改彈窗類組件的層級的實現的文章就介紹到這了,更多相關Element 彈窗類層級內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue?this.$refs.xxx報錯undefined問題及解決
這篇文章主要介紹了vue?this.$refs.xxx報錯undefined問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03