修改el-select下拉框高度;更新:支持動態修改

文章目錄

  • 效果
  • 動態修改:效果
  • 代碼
    • 固定高度版本
    • 動態修改高度版本(2024-12-25 更新: 支持動態修改下拉框高度)

效果

在這里插入圖片描述

動態修改:效果

在這里插入圖片描述

代碼

固定高度版本

注意點:
popper-class 盡量獨一無二,防止影響其他頁面樣式

popper-append-to-body 的使用 及全局樣式 & 樣式穿透問題

<template><div><!-- :popper-append-to-body="false"  --><el-select v-model="value" popper-class="custom-select-popper"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select></div>
</template><script>export default {data() {return {options: [{value: '選項1',label: '黃金糕'}, {value: '選項2',label: '雙皮奶'}, {value: '選項3',label: '蚵仔煎'}, {value: '選項4',label: '龍須面'}, {value: '選項5',label: '北京烤鴨'}],value: ''}}
}
</script>// 二選其一:// 如果el-select添加了 popper-append-to-body="false"
// 并且style標簽添加了 scoped,需要使用 ::v-deep 選擇器
<style lang="scss" scoped>
::v-deep .custom-select-popper {height: 150px; // max-height 不生效.el-scrollbar {height: 100%;.el-select-dropdown__wrap {overflow-x: hidden; // 此處是隱藏底部自定義橫向滾動條}}
}
</style>// 未添加 popper-append-to-body="false" 時,popper是插入在body子級
// 需要去掉 scoped,但是無比務必使用獨一無二的class,防止影響其他樣式
<style lang="scss">
.custom-select-popper {height: 150px;.el-scrollbar {height: 100%;.el-select-dropdown__wrap {overflow-x: hidden;}}
}
</style>

底部橫向滾動條(樣式按需修改):
在這里插入圖片描述

動態修改高度版本(2024-12-25 更新: 支持動態修改下拉框高度)

<template><div><!-- :popper-append-to-body="false"  --><!-- 當popper插入在select元素下時,--popper-height 需要在 el-select 標簽 --><el-selectv-model="value"popper-class="custom-select-popper":style="{'--popper-height': height}"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select><el-button type="primary" @click="addOption">add option</el-button></div>
</template><script>export default {data() {return {options: [{value: '選項1',label: '黃金糕'}, {value: '選項2',label: '雙皮奶'}],value: ''}},// 動態修改下拉框高度computed: {height() {// 這里:34 是el-option的高度,+17 是popper標簽有marginconst maxHeight = this.options.length * 34 + 17return `${maxHeight > 150 ? 150 : maxHeight}px`}},// popper 插入在 body 時使用// 動態修改 body css變量watch: {height: {immediate: true, // 初始化時進行一次高度計算async handler(n) {await this.$nextTick()document.body.style.setProperty('--popper-height', n)}}},methods: {addOption() {const length = this.options.lengththis.options.push({value: '選項' + length + 1,label: '選項' + length + 1})}}
}
</script>// 二選其一:// 如果el-select添加了 popper-append-to-body="false"
// 并且style標簽添加了 scoped,需要使用 ::v-deep 選擇器
<style lang="scss" scoped>
::v-deep .custom-select-popper {// height: 150px; // max-height 不生效height: var(--popper-height);.el-scrollbar {height: 100%;.el-select-dropdown__wrap {overflow-x: hidden; // 此處是隱藏底部自定義橫向滾動條}}
}
</style>// 未添加 popper-append-to-body="false" 時,popper是插入在body子級
// 需要去掉 scoped,但是無比務必使用獨一無二的class,防止影響其他樣式
<style lang="scss">
.custom-select-popper {// height: 150px; // 固定高度: 適用于option選項固定選項height: var(--popper-height); // 動態高度:適用于option不固定時.el-scrollbar {height: 100%;.el-select-dropdown__wrap {overflow-x: hidden;}}
}
</style>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64009.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64009.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64009.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開關電源特點、分類、工作方式

什么叫開關電源隨著電力電子技術的發展和創新&#xff0c;使得開關電源技術也在不斷地創新。目前&#xff0c;開關電源以小型、輕量和高效率的特點被廣泛應用幾乎所有的電子設備&#xff0c;是當今電子信息產業飛速發展不可缺少的一種電源方式。 開關電源是利用現代電力電子技…

Linux應用軟件編程-文件操作(目錄io)

1.打開目錄&#xff1a; DIR *opendir(const char *name); 功能&#xff1a;打開一個目錄獲得一個目錄流指針 參數: name:目錄名 返回值&#xff1a;成功返回目錄流指針&#xff1b;失敗返回NULL 2.讀目錄&#xff1a; struct dirent *readdir(DIR *dirp); 功能&…

有哪些開發者模式?

1、單例開發模式&#xff08;Singleton Pattern&#xff09; 單例模式是一種創建型設計模式&#xff0c;目的是確保在程序運行期間&#xff0c;某個類只有一個實例&#xff0c;并提供一個全局訪問點來訪問該實例。 核心特點 唯一實例&#xff1a;一個類只能創建一個對象實例。…

如何完全剔除對Eureka的依賴,報錯Cannot execute request on any known server

【現象】 程序運行報錯如下&#xff1a; com.netflix.discovery.shared.transport.TransportException報錯Cannot execute request on any known server 【解決方案】 &#xff08;1&#xff09;在Maven工程中的pom去掉Eureka相關的引用&#xff08;注釋以下部分&#xff0…

vscode寫python,遇到問題:ModuleNotFoundError: No module named ‘pillow‘(已解決 避坑)

1 問題&#xff1a; ModuleNotFoundError: No module named pillow 2 原因&#xff1a; 原因1&#xff1a;安裝Pillow的pip命令所處的python版本與vscode調用的python解釋器版本不同。 如&#xff1a; 原因2&#xff1a;雖然用的是pillow&#xff0c;但是寫代碼的時候只能用…

Ashy的考研游記

文章目錄 摘要12.1112.2012.21 DAY1&#xff08;政治/英語&#xff09;政治英語 12.22 DAY2&#xff08;數學/專業課&#xff09;數學專業課 結束估分 摘要 在24年的12月里&#xff0c;Ashy完成了他的考研沖刺&#xff0c;順利的結束了他本年度的考研之旅。 在十二月里&#…

AIGC實踐|AI/AR助力文旅沉浸式互動體驗探索

前言&#xff1a; 本篇文章的創作靈感來源于近期熱門話題——讓文物“動起來”&#xff0c;各大博物館成為新進潮流打卡地。結合之前創作的AI文旅宣傳片良好的流量和反饋&#xff0c;外加最近比較感興趣的AR互動探索&#xff0c;想嘗試看看自己能不能把這些零碎的內容整合起來…

tcp 的三次握手與四次揮手

問1: 請你說一下tcp的三次握手一次握手兩次握手三次握手問: 為什么不四(更多)次握手? 問 2: 請說一下 tcp 的 4 次揮手一次揮手兩次揮手問題:能不能等到數據傳輸完成再返回 ack? 三次揮手四次揮手問: 為什么要等兩個最大報文存在時間? bg: tcp 是可靠的連接,如何保證 建立連…

Kubernetes(k8s)離線部署DolphinScheduler3.2.2

1.環境準備 1.1 集群規劃 本次安裝環境為&#xff1a;3臺k8s現有的postgreSql數據庫zookeeper服務 1.2 下載及介紹 DolphinScheduler-3.2.2官網&#xff1a;https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2 官網安裝文檔&#xff1a;https://dolphinscheduler.apach…

C++的侵入式鏈表

非侵入式鏈表 非侵入式鏈表是一種鏈表數據結構&#xff0c;其中每個元素&#xff08;節點&#xff09;并不需要自己包含指向前后節點的指針。鏈表的結構和節點的存儲是分開的&#xff0c;鏈表容器會單獨管理這些指針。 常見的非侵入式鏈表節點可以由以下所示&#xff0c;即&a…

Flutter組合動畫學習

如何使用動畫控制器和動畫來創建一個簡單的動畫效果。具體來說&#xff0c;它通過一個 AnimationController 來控制兩個動畫&#xff0c;一個用于旋轉&#xff0c;一個用于繪制。 前置知識點學習 SingleTickerProviderStateMixin SingleTickerProviderStateMixin 是 Flutter …

在vscode的ESP-IDF中使用自定義組件

以hello-world為例&#xff0c;演示步驟和注意事項 1、新建ESP-IDF項目 選擇模板 從hello-world模板創建 2、打開項目 3、編譯結果沒錯 正在執行任務: /home/azhu/.espressif/python_env/idf5.1_py3.10_env/bin/python /home/azhu/esp/v5.1/esp-idf/tools/idf_size.py /home…

2025差旅平臺怎么選?一體化、全流程降本案例解析

差旅支出在企業中一直是一項重要但容易被忽視的成本開支&#xff0c;尤其是在項目驅動型企業中&#xff0c;因頻繁的差旅需求&#xff0c;支出規模往往持續增長。以差旅平臺分貝通簽約伙伴——某智能制造業的業務模式為例&#xff0c;該模式要求員工定期前往不同的工廠、供應商…

【linux】NFS實驗

NFS NFS服務 nfs,最早是Sun這家公司所發展出來的,它最大的功能就是可以透過網絡,讓不同的機器,不同的操作系統,進行實現文檔的共享。所以你可以簡單的將他看做是文件服務器。 實驗準備 ①先準備一個服務器端的操作系統和客戶端的操作系統(Red Hat)。 ②選擇NAT模式,…

智源研究院與安謀科技達成戰略合作,共建開源AI“芯”生態

12月25日&#xff0c;智源研究院與安謀科技&#xff08;中國&#xff09;有限公司&#xff08;以下簡稱“安謀科技”&#xff09;與正式簽署戰略合作協議&#xff0c;雙方將面向多元AI芯片領域開展算子庫優化與適配、編譯器與工具鏈支持、生態系統建設與推廣等一系列深入合作&a…

ROG NUC:強大內核激發創意,AI賦能學子科技探索

有這么一款能夠激發無限創意、助力科技探索的迷你主機&#xff0c;它以其卓越的性能和迷你的身材成為了成為了ProArt百校行活動中的明星產品&#xff0c;助力廣大學子勇敢探索未知&#xff0c;追逐屬于自己的科技夢想。它就是ROG NUC 2024&#xff01; 強大性能&#xff0c;創意…

從零玩轉CanMV-K230(8)-多線程例程

文章目錄 前言一、_thread模塊API二、使用示例創建并啟動線程停止線程_thread.exit() 總結 前言 K230上不支持threading&#xff0c;只能支持_thread&#xff0c;該模塊實現了相應 CPython 模塊的子集&#xff0c;CPython 是 Python 編程的參考實現 語言&#xff0c;也是最著名…

yii2 手動添加 phpoffice\phpexcel

1.下載地址&#xff1a;https://github.com/PHPOffice/PHPExcel 2.解壓并修改文件名為phpexcel 在yii項目的vendor目錄下創建一個文件夾命名為phpoffice 把phpexcel目錄放到phpoffic文件夾下 查看vendor\phpoffice\phpexcel目錄下會看到這些文件 3.到vendor\composer目錄下…

安卓多渠道apk配置不同簽名

一般簽名都是放在buildTypes里面&#xff1a; ... android {...defaultConfig {...}signingConfigs {release {storeFile file("myreleasekey.keystore")storePassword "password"keyAlias "MyReleaseKey"keyPassword "password"}}bu…

數據庫-用戶管理

一、創建用戶 create user xy104192..168.42.24 identified by 123456;xy104&#xff1a;用戶名 localhost&#xff1b;這個權限最高的root用戶 %&#xff1a;任務ip地址 192.168.42.24&#xff1a;登錄的IP地址 identified by ‘123456’&#xff1a;指定該用戶的密碼 mysql…