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

如何解決element-ui中select下拉框popper超出彈框問題

 更新時(shí)間:2024年04月27日 11:52:11   作者:j-ymg  
這篇文章主要介紹了如何解決element-ui中select下拉框popper超出彈框問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題場(chǎng)景

如下:

嘗試了好幾種解決方法,比如從下拉框el-popper使用fixed定位入手,修改popper-append-to-body,或者修改z-index

看了源碼后又嘗試監(jiān)聽表格滾動(dòng)使用`this.$refs.table.handleClose()`關(guān)閉popper,但都未達(dá)到我想要的效果。

嘗試了網(wǎng)上一些解決方案,跟我之前的嘗試一樣,只有拖動(dòng)滾動(dòng)條停止的時(shí)候popper消失,滑動(dòng)鼠標(biāo)滾輪則無效。無奈我只好直接修改源碼的visible來關(guān)閉popper,

解決方法如下:

解決方法

1、先把element-ui下select.vue的源碼單獨(dú)拎出來

添加自己的代碼(另外還需修改導(dǎo)入路徑)形成組件Select.vue。

改動(dòng)如下:

(1) 修改源碼import路徑

import Emitter from 'element-ui/src/mixins/emitter';
import Focus from 'element-ui/src/mixins/focus';
import Locale from 'element-ui/src/mixins/locale';
import ElInput from 'element-ui/packages/input';
import ElTag from 'element-ui/packages/tag';
import ElScrollbar from 'element-ui/packages/scrollbar';
import debounce from 'element-ui/node_modules/throttle-debounce/debounce';
import Clickoutside from 'element-ui/src/utils/clickoutside';
import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event';
import scrollIntoView from 'element-ui/src/utils/scroll-into-view';
import { getValueByPath, valueEquals, isIE, isEdge } from 'element-ui/src/utils/util';
import { isKorean } from 'element-ui/src/utils/shared';
import NavigationMixin from 'element-ui/packages/select/src/navigation-mixin';
import ElOption from 'element-ui/packages/select/src/option';
import ElSelectMenu from 'element-ui/packages/select/src/select-dropdown';

(2) 在select.vue源碼的基礎(chǔ)上接收父組件傳來的scrollTop,監(jiān)聽scrollTop的改變使visible為false。

props: {
    // 源碼上新增:父組件表格滾動(dòng)條
    scrollTop: {
      type: Number,
      default: 0,
    },
  },
  
  watch: {
    //  源碼上新增:滾動(dòng)條滾動(dòng)就隱藏下拉框
    scrollTop() {
      this.visible = false;
    },
  }

2、把el-select改成Select組件

監(jiān)聽滾動(dòng)條的滾動(dòng),滾動(dòng)就隱藏下拉框

主要代碼如下:

import Select from '@/components/common/select';

components: { Select },
data() {
    return {
      tempTableBody: null,
      // 滾動(dòng)條位置,用來判斷滾動(dòng)條滾動(dòng)隱藏下拉框
      scrollTop: 0,
    };
  },
  
  mounted() {
    this.onscroll();
  },
  methods: {
    // 監(jiān)聽table的bodyWrapper的滾動(dòng)
    onscroll() {
      this.$nextTick(() => {
        this.tempTableBody= this.$refs.editTempTable.bodyWrapper;
        if (this.tempTableBody) {
          this.tempTableBody.addEventListener('scroll', this.handleScroll, false);
        }
      });
    },
    // 滾動(dòng)條出現(xiàn)滾動(dòng)就改變scrollTop的值
    handleScroll() {
      this.scrollTop = this.tempTableBody.scrollTop;
      // this.$refs.matchField.handleClose();
    },
  }    

總結(jié)

至此,就成功解決這個(gè)問題了。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue中子組件的methods中獲取到props中的值方法

    vue中子組件的methods中獲取到props中的值方法

    今天小編就為大家分享一篇vue中子組件的methods中獲取到props中的值方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Vant中Popover氣泡彈出框位置錯(cuò)亂問題解決

    Vant中Popover氣泡彈出框位置錯(cuò)亂問題解決

    這篇文章主要為大家介紹了Vant中Popover氣泡彈出框位置錯(cuò)亂問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue實(shí)現(xiàn)下拉框二級(jí)聯(lián)動(dòng)效果的實(shí)例代碼

    vue實(shí)現(xiàn)下拉框二級(jí)聯(lián)動(dòng)效果的實(shí)例代碼

    這篇文章主要介紹了vue實(shí)現(xiàn)下拉框二級(jí)聯(lián)動(dòng)效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • Vue cli+mui 區(qū)域滾動(dòng)的實(shí)例代碼

    Vue cli+mui 區(qū)域滾動(dòng)的實(shí)例代碼

    下面小編就為大家分享一篇Vue cli+mui 區(qū)域滾動(dòng)的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • VUE生命周期全面系統(tǒng)詳解

    VUE生命周期全面系統(tǒng)詳解

    Vue的生命周期就是vue實(shí)例從創(chuàng)建到銷毀的全過程,也就是new?Vue()?開始就是vue生命周期的開始。Vue?實(shí)例有?個(gè)完整的?命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom?->?渲染、更新?->?渲染、卸載?等?系列過程,稱這是Vue的?命周期
    2022-07-07
  • Vue項(xiàng)目npm run dev啟動(dòng)失敗的6個(gè)常見原因(附解決方案)

    Vue項(xiàng)目npm run dev啟動(dòng)失敗的6個(gè)常見原因(附解決方案)

    Vue 項(xiàng)目啟動(dòng)是前端開發(fā)的基礎(chǔ)操作,但很多新手(甚至有經(jīng)驗(yàn)的開發(fā)者)都會(huì)遇到npm run dev(或?npm run serve)啟動(dòng)失敗的問題,下面就來介紹一下失敗的原因及解決方案,感興趣的可以了解一下
    2026-01-01
  • 實(shí)現(xiàn)vuex與組件data之間的數(shù)據(jù)同步更新方式

    實(shí)現(xiàn)vuex與組件data之間的數(shù)據(jù)同步更新方式

    今天小編就為大家分享一篇實(shí)現(xiàn)vuex與組件data之間的數(shù)據(jù)同步更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue搜索高亮popsearch組件的實(shí)現(xiàn)示例

    vue搜索高亮popsearch組件的實(shí)現(xiàn)示例

    有時(shí)候給頁面內(nèi)容添加一個(gè)關(guān)鍵詞搜索功能,如果搜索結(jié)果能夠像瀏覽器搜索一樣高亮顯示,那找起來就會(huì)很明顯體驗(yàn)會(huì)好很多,本文就來介紹一下vue搜索高亮popsearch組件的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2023-09-09
  • Vue+node實(shí)現(xiàn)音頻錄制播放功能

    Vue+node實(shí)現(xiàn)音頻錄制播放功能

    這篇文章主要介紹了Vue+node實(shí)現(xiàn)音頻錄制播放,功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • element?實(shí)現(xiàn)導(dǎo)航欄收起展開功能及思路

    element?實(shí)現(xiàn)導(dǎo)航欄收起展開功能及思路

    這篇文章主要介紹了element?實(shí)現(xiàn)導(dǎo)航欄收起展開功能,實(shí)現(xiàn)思路先給 el-menu加上 :collapse="isCollapse" 屬性,這個(gè)屬性也是 element 上的一個(gè)參數(shù),意思為是否開啟折疊動(dòng)畫,在 data 中定義 isCollapse ,用 true 和 false 控制展開與收起,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

扬中市| 淮阳县| 金寨县| 台北市| 辽阳县| 从江县| 定州市| 比如县| 安化县| 郸城县| 安塞县| 洱源县| 福安市| 达日县| 晋江市| 喀什市| 双辽市| 依安县| 四川省| 稷山县| 日土县| 南平市| 长顺县| 三原县| 武城县| 精河县| 菏泽市| 洪雅县| 定兴县| 常州市| 富锦市| 东阳市| 临武县| 尉氏县| 汤阴县| 汝阳县| 新丰县| 宁乡县| 孟州市| 方正县| 承德县|