亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

微前端下element-ui彈框偏移問題解決

 更新時間:2023年08月29日 08:34:25   作者:segmentfault  
本章主要是解決無界微前端環(huán)境下element-ui彈框偏移問題,如果你用的是其他微前端框架,且提供了jsloader這種預(yù)處理器,則可以舉一反三解決同樣的問題

安裝依賴

首先,我使用的是無界官方源碼,下載地址:無界微前端源碼如圖已經(jīng)下載到本地了:使用pnpm i安裝一下依賴

如果報錯,請更新你的nvm或者使用16.19.0版本的node

啟動官網(wǎng)例子

npm run start,正確啟動的話可以看到一下頁面:

點擊進(jìn)入vue2的dialog頁面

我們打開examples\vue2\src\main.js,在頂部任意地方加入:

import Row from "element-ui/lib/row";
import Col from "element-ui/lib/col";
import "element-ui/lib/theme-chalk/row.css";
import "element-ui/lib/theme-chalk/col.css";
[Row, Col].forEach((element) => Vue.use(element));

如圖:

打開examples\vue2\src\views\Dialog.vue,寫入代碼:

<template>
<a-button @click="fullDialogVisible = true" style="margin-left: 20px">點擊打開全屏彈窗</a-button>
 <el-dialog title="全屏彈窗" fullscreen :visible.sync="fullDialogVisible" width="30%">
   <el-row type="flex" justify="space-between">
     <el-col :span="6"
       ><div class="grid-left">
         <el-select v-model="value" placeholder="el-select">
           <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
         </el-select></div
     ></el-col>
     <el-col :span="6"
       ><div class="grid-center">
         <el-select v-model="value" placeholder="el-select">
           <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
         </el-select></div
     ></el-col>
     <el-col :span="6"
       ><div class="grid-right">
         <el-select v-model="value" placeholder="el-select">
           <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
         </el-select></div
     ></el-col>
   </el-row>
   <span slot="footer" class="dialog-footer">
     <el-button @click="fullDialogVisible = false">取 消</el-button>
     <el-button type="primary" @click="fullDialogVisible = false">確 定</el-button>
   </span>
 </el-dialog>
</template>
<script>
...
data() {
 return {
   fullDialogVisible: false
 }
}
...
</script>

以上代碼就是為了寫一個彈框,且彈框內(nèi)有左中右三個下拉框,來顯示下拉框是否位置正常。

全文重點

打開examples\main-vue\src\views\Vue2-sub.vue此文件,寫入:

<template>
<WujieVue width="100%" height="100%" name="vue2" :url="vue2Url" :plugins="plugins"></WujieVue>
</template>
<script>
...
data() {
    return {
      plugins: [
        {
          // 在子應(yīng)用所有的css之前
          cssBeforeLoaders: [
            // 強(qiáng)制使子應(yīng)用body定位是relative
            { content: "body{position: relative !important}" },
          ],
        },
        {
          jsLoader: (code) => {
            // 替換popper.js內(nèi)計算偏左側(cè)偏移量
            var codes = code.replace(
              "left: elementRect.left - parentRect.left",
              "left: fixed ? elementRect.left : elementRect.left - parentRect.left"
            );
            // 替換popper.js內(nèi)右側(cè)偏移量
            return codes.replace("popper.right > data.boundaries.right", "false");
          },
        },
      ],
    }
}
...
</script>

按以上操作則可以實現(xiàn)官網(wǎng)例子內(nèi)的彈框不在偏移。且不論下拉框是何種定位都能實現(xiàn)完美位置。

綜上所述

你只需更改主應(yīng)用的plugins即可修復(fù)彈框偏移問題;按照5所述,修改即可。(費了大量的時間和精力,一直在尋找一個完美且傻瓜式的解決辦法,最終還是調(diào)試源碼,找到此辦法。github上解決此問題的人都是各種技巧,但我們只需要最樸素且簡單見效的辦法。)

最終實現(xiàn)效果展示:

(弱弱的問一句):如果解決了你的問題,可否到(小程序/app)拼夕夕上搜 店鋪 “瓊肴食貨”, 進(jìn)店來一單。。。

以上就是 微前端下element-ui彈框偏移問題解決的詳細(xì)內(nèi)容,更多關(guān)于 微前端下element-ui彈框偏移問題解決的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Google 地圖類型詳解及示例代碼

    Google 地圖類型詳解及示例代碼

    本文主要介紹Google 地圖類型,這里整理了Google 地圖類型的基本知識資料,并附簡單的示例代碼便于大家學(xué)習(xí)參考,希望能幫助有需要的小伙伴
    2016-08-08
  • 微信小程序 常用工具類詳解及實例

    微信小程序 常用工具類詳解及實例

    這篇文章主要介紹了微信小程序 常用工具類詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 微信小程序 密碼輸入(源碼下載)

    微信小程序 密碼輸入(源碼下載)

    這篇文章主要介紹了微信小程序 密碼輸入(源碼下載)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 微信小程序 swiper組件詳解及實例代碼

    微信小程序 swiper組件詳解及實例代碼

    這篇文章主要介紹了微信小程序 swiper組件詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Lodash加減乘除add?subtract?multiply?divide方法源碼解讀

    Lodash加減乘除add?subtract?multiply?divide方法源碼解讀

    這篇文章主要介紹了Lodash加減乘除add?subtract?multiply?divide方法源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • JS面試題解['1',?'7',?'11'].map(parseInt)?輸出

    JS面試題解['1',?'7',?'11'].map(p

    這篇文章主要為大家介紹了JS面試題解['1',?'7',?'11'].map(parseInt)?會輸出什么內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 教程之模塊化

    微信小程序 教程之模塊化

    這篇文章主要介紹了微信小程序 模塊化的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • axios進(jìn)度條onDownloadProgress函數(shù)total參數(shù)undefined解決分析

    axios進(jìn)度條onDownloadProgress函數(shù)total參數(shù)undefined解決分析

    這篇文章主要介紹了axios進(jìn)度條onDownloadProgress函數(shù)total參數(shù)undefined解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 以JS開發(fā)為例詳解版本號的作用與價值

    以JS開發(fā)為例詳解版本號的作用與價值

    這篇文章主要為大家介紹了以JS開發(fā)為例詳解版本號的作用與價值詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 深入淺出探究JavaScript中的async與await

    深入淺出探究JavaScript中的async與await

    任意一個名稱都是有意義的,先從字面意思來理解。async 是“異步”的簡寫,而 await 可以認(rèn)為是 async wait 的簡寫。所以應(yīng)該很好理解 async 用于申明一個 function 是異步的,而 await 用于等待一個異步方法執(zhí)行完成。下文將帶你深入探究JavaScript中的async與await
    2021-09-09

最新評論