Vue3封裝一個左側可拖拽折疊的側邊欄布局

功能

1、點擊左側側邊欄可折疊或打開
2、左側側邊欄可拖拽

代碼

<template><div class="fold-left-box"><div class="fold-left-box-left" :style="{ width: asideWidth + 'px' }" v-show="asideWidth > 0">left</div><divclass="fold-left-box-line":style="{ cursor: asideWidth === 0 ? '' : 'col-resize' }"ref="drag"><el-button size="mini" circle class="fold-left-box-line-button" @click="foldLeft">{{asideWidth === 0 ? '開' : '關'}}</el-button></div><div class="fold-left-box-main">main</div></div>
</template><script setup>
import { ref, onMounted } from 'vue'
onMounted(() => {bindDrop()
})
function foldLeft() {asideWidth.value = asideWidth.value === 0 ? 250 : 0
}
const drag = ref(null)
const asideWidth = ref(300)
function bindDrop() {drag.value.onmousedown = function () {document.onmousemove = function (e) {asideWidth.value = asideWidth.value + e.movementXif (asideWidth.value < 20) {document.onmouseup()asideWidth.value = 0}}document.onmouseup = function () {document.onmousemove = nulldocument.onmouseup = null}return false}
}
</script>
<style scoped>
.fold-left-box {height: 500px;overflow: hidden;display: flex;
}
.fold-left-box-left {height: 100%;overflow: hidden;
}
.fold-left-box-line {width: 4px;height: 100%;position: relative;border-left: 1px solid #e6e6e6;
}
.fold-left-box-main {height: 100%;flex: 1;padding-left: 12px;overflow: hidden;
}
.fold-left-box-line-button {position: absolute;top: 50%;right: -10px;
}
</style>

效果圖

vue2鏈接: Vue封裝一個左側可拖拽折疊的側邊欄布局

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

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

相關文章

PAT 1097 Deduplication on a Linked List

個人學習記錄&#xff0c;代碼難免不盡人意 Given a singly linked list L with integer keys, you are supposed to remove the nodes with duplicated absolute values of the keys. That is, for each value K, only the first node of which the value or absolute value o…

實例038 設置窗體在屏幕中的位置

實例說明 在窗體中可以設置窗體居中顯示&#xff0c;本例通過設置窗體的Left屬性和Top屬性可以準確設置窗體的位置。運行本例&#xff0c;效果如圖1.38所示。 技術要點 設置窗體在屏幕中的位置&#xff0c;可以通過設置窗體的屬性來實現。窗體的Left屬性表示窗體距屏幕左側的…

angular 子組件ngOnChanges監聽@input傳入的輸入屬性

在進入主題之前&#xff0c;先了解一下angular的生命周期。 生命周期 鉤子分類 指令與組件共有的鉤子 ngOnChangesngOnInitngDoCheckngOnDestroy 組件特有的鉤子 ngAfterContentInitngAfterContentCheckedngAfterViewInitngAfterViewChecked 生命周期鉤子的作用及調用順序 …

Makefile多個子文件夾

首先&#xff0c;目錄結構&#xff1a; 其中根目錄Makefile主要作用是調用其他子文件夾Makefile&#xff0c;每個子模塊執行各自編譯后在build文件夾下生成obj文件&#xff0c;最后再執行build文件夾下Makefile進行鏈接。 根目錄Makefile&#xff1a; TARGET ACT_Drv ##SRC_D…

秦嶺地形圖、水系圖、全景圖

來源&#xff1a;頭條留白sy&#xff0c;星球研究所等&#xff0c;轉自&#xff1a;地理科學研究苑

kubernetes集群(k8s)之安裝部署Calico 網絡

目錄 安裝部署Calico 網絡 &#xff08;一&#xff09;環境準備 &#xff08;二&#xff09;部署docker環境 &#xff08;三&#xff09;部署kubernetes集群 &#xff08;四&#xff09;部署Calico網絡插件 安裝部署Calico 網絡 &#xff08;一&#xff09;環境準備 IP地…

【歷史上的今天】8 月 15 日:蘋果推出初代 iMac;谷歌收購摩托羅拉移動;Fuchsia 首次發布

整理 | 王啟隆 透過「歷史上的今天」&#xff0c;從過去看未來&#xff0c;從現在亦可以改變未來。 今天是 2023 年 8 月 15 日&#xff0c;在 1878 年的今天&#xff0c;我國第一套郵票發行。中國是一個文明古國&#xff0c;在郵政通信方面&#xff0c;有著悠久的歷史。早在三…

【Qt】多線程

線程創建 自定義線程類 #ifndef CUSTOMETHREAD_H #define CUSTOMETHREAD_H#include <QObject> #include <QThread> #include "add.h"class CustomeThread : public QThread {Q_OBJECT public:// Bind the thread kernel function.explicit CustomeThre…

分布式監控平臺—zabbix

前言一、zabbix概述1.1 什么是zabbix1.2 zabbix的監控原理1.3 zabbix常見五個應用程序1.4 zabbix的監控模式1.5 監控架構1.5.1 C/S&#xff08;server—client&#xff09;1.5.2 server—proxy—client1.5.3 master—node—client 二、部署zabbix2.1 部署 zabbix server 端2.2 …

“華為杯”研究生數學建模競賽2018年-【華為杯】C題:對恐怖主義襲擊事件數據的量化分析(續篇)

目錄 5.3.3 邏輯回歸預測模型確立 5.3.4 利用邏輯回歸預測模型進行求解 5.4 模型評價

日常BUG——SpringBoot關于父子工程依賴問題

&#x1f61c;作 者&#xff1a;是江迪呀??本文關鍵詞&#xff1a;日常BUG、BUG、問題分析??每日 一言 &#xff1a;存在錯誤說明你在進步&#xff01; 一、問題描述 在父子工程A和B中。A依賴于B&#xff0c;但是A中卻無法引入B中的依賴&#xff0c;具體出現的…

Kubernetes 部署DolphinScheduler 創建租戶失敗

創建租戶 報錯創建租戶失敗。后臺日志如下 源代碼跟蹤 org.apache.dolphinscheduler.api.service.impl.TenantServiceImpl / if hdfs startup if (PropertyUtils.getResUploadStartupState()) {createTenantDirIfNotExists(tenantCode); }需要將 resource.storage.type 置為…

Java反射獲取所有Controller和RestController類的方法

Java反射獲取所有Controller和RestController類的方法 引入三方反射工具Reflections <dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId><version>0.10.2</version> </dependency>利用反…

【數據結構】隊列及其實現

目錄 1.隊列的概念及結構 2.隊列的實現 2.1隊列結構定義 2.2隊列的初始化及銷毀 2.3數據入隊 2.4數據出隊 2.5訪問隊頭數據 2.6訪問隊尾數據 2.6判斷隊列是否為空 2.7求隊列的大小 2.7打印隊列 1.隊列的概念及結構 隊列&#xff1a;只允許在一端進行插入數據操作&…

ECMAScript 2023(ES14)中的所有新功能

?JavaScript在持續發展&#xff0c;近期ECMAScript 14中發布添加了一批新功能&#xff0c;讓我們一起來探索一下今年對JavaScript開發人員的新功能。時間的車輪又過去了一年&#xff0c;隨之而來的是JavaScript的新官方版本&#xff1a;ECMAScript 2023&#xff0c;也被稱為EC…

與微服務平臺廠家聯手,一起實現高效率發展!

在如今的快節奏發展社會中&#xff0c;只有利用科技的力量&#xff0c;才能與市場接軌&#xff0c;了解市場和客戶需求&#xff0c;最終實現更快速的發展。如果還停留在閉門造車的環境中&#xff0c;不“引進來&#xff0c;走出去”&#xff0c;那勢必會與成功擦肩而過。微服務…

clickHouse部署

docker倉庫地址 https://hub.docker.com/ 1、docker環境搭建 # 1.先安裝yml yum install -y yum-utils device-mapper-persistent-data lvm2 # 2.設置阿里云鏡像 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 3.查…

【芯片前端】auto_testbench的大版本升級——加入簡單預期與自動比對

前言 前文提要&#xff1a; 【芯片前端】一鍵生成簡易版本定向RTL驗證環境的腳本——auto_verification_rtl腳本_尼德蘭的喵的博客-CSDN博客 【芯片前端】可能是定向驗證的巔峰之作——auto_testbench_autotestbench_尼德蘭的喵的博客-CSDN博客 工具路徑&#xff1a; auto…

廣告聚合平臺能為APP開發者提供哪些幫助

應用變現平臺是幫助開發者優化廣告策略并最終獲得更多收入的綜合途徑。在廣告變現過程中&#xff0c;接入單一的廣告聯盟&#xff0c;變現效率不高&#xff0c;并且開發者需要花費許多精力進行篩選和管理&#xff0c;難免會應接不暇&#xff0c;而聚合廣告平臺的出現則一定程度…

GloVe、子詞嵌入、BPE字節對編碼、BERT相關知識(第十四次組會)

GloVe、子詞嵌入、BPE字節對編碼、BERT相關知識(第十四次組會) Glove子詞嵌入上游、下游任務監督學習、無監督學習BERTGlove 子詞嵌入 上游、下游任務 監督學習、無監督學習 BERT