VUE組件 之 Drawer 抽屜

一、源碼地址

https://github.com/imxiaoer/DrawerForVue

?

二、效果圖

?

三、具體代碼

drawer.vue

復制代碼

<template><div class="drawer"><div :class="maskClass" @click="closeByMask"></div><div :class="mainClass" :style="mainStyle" class="main"><div class="drawer-head"><span>{{ title }}</span><span class="close-btn" v-show="closable" @click="closeByButton">X</span></div><div class="drawer-body"><slot/></div></div></div>
</template><script>
export default {props: {// 是否打開display: {type: Boolean},// 標題title: {type: String,default: '標題'},// 是否顯示關閉按鈕closable: {type: Boolean,default: true},// 是否顯示遮罩mask: {type: Boolean,default: true},// 是否點擊遮罩關閉maskClosable: {type: Boolean,default: true},// 寬度width: {type: String,default: '400px'},// 是否在父級元素中打開inner: {type: Boolean,default: false}},computed: {maskClass: function () {return {'mask-show': (this.mask && this.display),'mask-hide': !(this.mask && this.display),'inner': this.inner}},mainClass: function () {return {'main-show': this.display,'main-hide': !this.display,'inner': this.inner}},mainStyle: function () {return {width: this.width,right: this.display ? '0' : `-${this.width}`,borderLeft: this.mask ? 'none' : '1px solid #eee'}}},mounted () {if (this.inner) {let box = this.$el.parentNodebox.style.position = 'relative'}},methods: {closeByMask () {this.maskClosable && this.$emit('update:display', false)},closeByButton () {this.$emit('update:display', false)}}
}
</script><style lang="scss" scoped>
.drawer {/* 遮罩 */.mask-show {position: fixed;top: 0;left: 0;width: 100%;height: 100%;z-index: 10;background-color: rgba(0,0,0,.5);opacity: 1;transition: opacity .5s;}.mask-hide {opacity: 0;transition: opacity .5s;}/* 滑塊 */.main {position: fixed;z-index: 10;top: 0;height: 100%;background: #fff;transition: all 0.5s;}.main-show {opacity: 1;}.main-hide {opacity: 0;}/* 某個元素內部顯示 */.inner {position: absolute;}/* 其他樣式 */.drawer-head {display: flex;justify-content: space-between;height: 45px;line-height: 45px;padding: 0 15px;font-size: 14px;font-weight: bold;border-bottom: 1px solid #eee;.close-btn {display: inline-block;cursor: pointer;height: 100%;padding-left: 20px;}}.drawer-body {font-size: 14px;padding: 15px;}
}
</style>

復制代碼

?

組件具體使用如下:

復制代碼

<template><div class="box"><el-button type="primary" @click="display = true">打開抽屜</el-button><drawer title="我是一個抽屜組件" :display.sync="display" :inner="true" :width="drawerWidth" :mask="false">1. Hello, world!2. Do you like it?</drawer></div>
</template><script>
import drawer from '@/components/drawer/drawer'
export default {components: { drawer },data () {return {display: false,drawerWidth: '500px'}       }
}
</script>

復制代碼

?

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

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

相關文章

什么是基金凈值、單位凈值、累計凈值

基金知識-單位凈值和累計凈值 一投資者問&#xff1a;單位凈值和累計凈值分別指什么&#xff1f;如何通過這兩個值來評定一個基金&#xff1f; 景順長城基金管理有限公司答&#xff1a;基金資產凈值是在某一時點上&#xff0c;基金資產的總市值扣除負債后的余額&#xff0c;代表…

Java生鮮電商平臺-用戶管理的架構與實戰

Java生鮮電商平臺-用戶管理的架構與實戰 在電商后臺中&#xff0c;用戶管理是運營人員管理用戶的模塊。這里的用戶區別于運營人員&#xff0c;會在權限的角色管理中分別闡述。這里的用戶包含平臺的一般用戶&#xff0c;會員用戶等。本文將分享一下用戶管理模塊的設計心得。在設…

vue+Element-ui實現分頁效果

當我們向后臺請求大量數據的時候&#xff0c;并要在頁面展示出來&#xff0c;請求的數據可能上百條數據或者更多的時候&#xff0c;并不想在一個頁面展示&#xff0c;這就需要使用分頁功能來去完成了。 1.本次所使用的是vue2.0element-ui實現一個分頁功能&#xff0c;element-…

ListViewAutoScrollHelper

ListViewAutoScrollHelper轉載于:https://www.cnblogs.com/ZacharyHodgeZou/p/4208350.html

wx.navigateTo跳轉首頁無效

問題: 首頁A—B,B—C,C—A(回首頁無效) 先來看首頁,首頁是由tabBar中三個頁面組成 再來看下首頁的代碼組成 //只保留核心代碼 "tabBar": { ... "list": [ { "pagePath": "pages/home/home", "te…

21款網頁版html5小游戲源碼

html5魅族創意的貪食蛇游戲源碼下載 html5網頁版打磚塊小游戲源碼下載 html5 3D立體魔方小游戲源碼下載 html5網頁版飛機躲避游戲源碼下載 html5三國人物連連看游戲源碼下載 js html5 2048數字游戲源碼_2048網頁版源碼下載 html5盲打高手打飛字游戲下載_網頁版英文打飛字游戲源…

Cookie的使用(js-cookie插件)

一、安裝 npm install js-cookie --save二、引用 import Cookies from js-cookie三、一般使用 存到Cookie去 // Create a cookie, valid across the entire site: Cookies.set(name, value);// Create a cookie that expires 7 days from now, valid across the entire site…

js的array.some()方法

定義和用法 some() 方法用于檢測數組中的元素是否滿足指定條件&#xff08;函數提供&#xff09;。 some() 方法會依次執行數組的每個元素&#xff1a; 如果有一個元素滿足條件&#xff0c;則表達式返回true , 剩余的元素不會再執行檢測。如果沒有滿足條件的元素&#xff0c…

AOP集成防止連續多次點擊問題

AOP即Aspect Oriented Programming的縮寫,習慣稱為切面編程;與OOP(面向對象編程)萬物模塊化的思想不同,AOP則是將涉及到眾多模塊的某一類問題進行統一管理,AOP的優點是將業務邏輯與系統化功能高度解耦,讓我們在開發過程中可以只專注于業務邏輯,其他一些系統化功能(如路由、日志…

應用內安裝部分手機出現解析錯誤

在做應用內升級安裝apk 的時候 出現了 程序包解析出錯&#xff0c;這就很難受了 明明程序包有問題&#xff0c;而且還并不是必發&#xff0c;查了下資料發現是7.0版本的問題 有好幾種說法會引起這個問題 1 使用了V2包 我們在打包的時候最好不要用V2簽名 2 加入臨時授權 intent.…

自定義input[type=file]的兼容樣式

input[type"file"]的樣式在各個瀏覽器中的表現不盡相同&#xff1a; 1. chrome: 2. firefox: 3. opera: 4. ie: 5. edge: 另外&#xff0c;當我們規定 input[type"file"] 的高度&#xff0c;并把它的行高設置成與其高度相等后&#xff0c;chrome中難看的樣…

Excel催化劑開源第37波-音視頻文件元數據提取(分辨率,時長,采樣率等)

上一篇提到圖片元信息Exif的提取&#xff0c;當然還有一類音視頻文件&#xff0c;也同樣存儲著許多寶貴的元數據&#xff0c;那就開源到底唄&#xff0c;雖然自己找尋過程也是蠻艱辛坎坷的&#xff0c;大家看后有收獲&#xff0c;只求多多傳播下&#xff0c;讓前人的工作可以更…

ECharts 雷達圖在類目值下面顯示數值

需要實現的效果&#xff1a; 官網里面的demo顯示數值&#xff0c;都是在拐點處&#xff1a; 【解決】 1、只顯示類目 <div id"mychart" style"width:300px;height:300px;margin:0 auto;"></div><script>var arr1 [60,73,85,40,60];var…

RecyclerView復用item導致數據混亂

一般recyclerview會復用item以讓recycler性能提升 但是我們有些時候會出現復用了之后混亂的情況 如何防止RecyclerView復用item呢 1 最好是每一個有判斷的地方&#xff0c;都要寫全所有情況&#xff0c;什么意思呢 if里textView設了一個值&#xff0c;false也必須設置一個值 2 …

echarts tooltip在圖表范圍內顯示

以下兩種解決方式&#xff0c;能夠應對大部分出現此類問題項目 tooltip.position: 提示框浮層的位置&#xff0c;默認不設置時位置會跟隨鼠標的位置。 可選&#xff1a;string, Array, Function 一、解決方法&#xff1a; 1、設置x軸固定不動 y軸上下跟隨 /*設置x軸左右固定…

Vue.js 動態為img的src賦值

在vue中動態給src賦值綁定圖片會顯示不出來 動態添加src被當做靜態資源處理了&#xff0c;沒有進行編譯 解決方法&#xff1a; 1、用網絡地址 把圖片放在cdn或自己的服務器上&#xff0c;把網絡地址存在imgUrl里&#xff0c;然后直接<img :src"Url"> 2.把圖片放…

項目打包部署到Tomcat

一、 使用 npm run build打包完成之后會出現一個dist文件夾&#xff0c;里面有static文件夾和一個index.html文件&#xff0c;一般我們部署在tomcat上面會將文件放在webapps文件夾下 如果不進行任何修改將dist文件夾放進去的話&#xff0c;會出現資源路徑錯誤的問題&#xff…

算法階段三總結

3月25日-4月4日這段時間里。我把字符串的一些基本操作和算法學了下。主要有串的基本操作&#xff0c;字符串的hash函數&#xff08;Rabin-Karp&#xff0c;ELFhash&#xff09;&#xff0c;還有KMP算法。總體感覺還是不錯的。尤其清明這三天沒出去&#xff0c;都呆在宿舍了&…

vue.config和editorconfig

我們在做項目的時候&#xff0c;應該給經常用到的文件配置它的別名&#xff0c;這樣做&#xff0c;既可以方便引用&#xff0c;也可以防止當文件位置發生改變的時候出現錯誤。 配置前: import bartar from ../../components/bartar 配置后(不用再關心文件層級關系): import bar…