日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

052_Drawer抽屉

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 052_Drawer抽屉 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Drawer抽屜

1.1. 有些時候, Dialog組件并不滿足我們的需求, 比如你的表單很長, 亦或是你需要臨時展示一些文檔, Drawer擁有和Dialog幾乎相同的API, 在UI上帶來不一樣的體驗。

1.2. Drawer Attributes

參數

說明

類型

可選值

默認值

append-to-body

Drawer自身是否插入至body元素上。嵌套的Drawer必須指定該屬性并賦值為true

boolean

false

before-close

關閉前的回調, 會暫停Drawer的關閉

function(done), done用于關閉Drawer

close-on-press-escape

是否可以通過按下ESC關閉Drawer

boolean

true

custom-class

Drawer的自定義類名

string

destroy-on-close

控制是否在關閉Drawer之后將子元素全部銷毀

boolean

false

modal

是否需要遮罩層

boolean

true

modal-append-to-body

遮罩層是否插入至body元素上, 若為false, 則遮罩層會插入至Drawer的父元素上

boolean

true

direction

Drawer打開的方向

Direction

rtl / ltr / ttb / btt

rtl

show-close

是否顯示關閉按鈕

boolean

true

size

Drawer窗體的大小, 當使用number類型時, 以像素為單位, 當使用string類型時, 請傳入'x%', 否則便會以number類型解釋

number / string

'30%'

title

Drawer的標題, 也可通過具名slot(見下表)傳入

string

visible

是否顯示Drawer, 支持.sync修飾符

boolean

false

wrapperClosable

點擊遮罩層是否可以關閉Drawer

boolean

true

withHeader

控制是否顯示header欄, 默認為true, 當此項為false時, title attribute和title slot均不生效

boolean

true

1.3. Drawer Slot

name

說明

Drawer的內容

title

Drawer標題區的內容

1.4. Drawer Methods

name

說明

closeDrawer

用于關閉Drawer, 該方法會調用傳入的before-close方法

1.5. Drawer Events

事件名稱

說明

回調參數

open

Drawer打開的回調

opened

Drawer打開動畫結束時的回調

close

Drawer關閉的回調

closed

Drawer關閉動畫結束時的回調

2. Drawer抽屜例子

2.1. 使用腳手架新建一個名為element-ui-drawer折疊面板的前端項目, 同時安裝Element插件。

2.2. 編輯index.js?

import Vue from 'vue' import VueRouter from 'vue-router' import Drawer from '../components/Drawer.vue' import NoneTitleDrawer from '../components/NoneTitleDrawer.vue' import MyselfDrawer from '../components/MyselfDrawer.vue' import AppendDrawer from '../components/AppendDrawer.vue'Vue.use(VueRouter)const routes = [{ path: '/', redirect: '/Drawer' },{ path: '/Drawer', component: Drawer },{ path: '/NoneTitleDrawer', component: NoneTitleDrawer },{ path: '/MyselfDrawer', component: MyselfDrawer },{ path: '/AppendDrawer', component: AppendDrawer } ]const router = new VueRouter({routes })export default router

2.3. 在components下創建Drawer.vue

<template><div><h1>基本用法</h1><h4>需要設置visible屬性, 它的類型是boolean, 當為true時顯示Drawer。Drawer分為兩個部分: title和body, title需要具名為title的slot, 也可以通過title屬性來定義, 默認值為空。需要注意的是, Drawer默認是從右往左打開, 當然可以設置對應的direction。</h4><el-radio-group v-model="direction"><el-radio label="ltr">從左往右開</el-radio><el-radio label="rtl">從右往左開</el-radio><el-radio label="ttb">從上往下開</el-radio><el-radio label="btt">從下往上開</el-radio></el-radio-group><el-button @click="drawer = true" type="primary" style="margin-left: 16px;">點我打開</el-button><el-drawer title="我是標題" :visible.sync="drawer" :direction="direction" :before-close="handleClose"><span>我來啦!</span></el-drawer></div> </template><script> export default {data () {return {drawer: false,direction: 'rtl'}},methods: {handleClose (done) {this.$confirm('確認關閉?').then(_ => {done()}).catch(_ => {})}} } </script>

2.4. 在components下創建NoneTitleDrawer.vue

<template><div><h1>不添加Title</h1><h4>當遇到不需要title的場景時, 可以通過withHeader這個屬性來關閉掉title的顯示, 這樣可以留出更大的空間給到用戶, 為了用戶的可訪問性, 請務必設定title的值。</h4><el-button @click="drawer = true" type="primary" style="margin-left: 16px;">點我打開</el-button><el-drawer title="我是標題" :visible.sync="drawer" :with-header="false"><span>我來啦!</span></el-drawer></div> </template><script> export default {data () {return {drawer: false}} } </script>

2.5. 在components下創建MyselfDrawer.vue

<template><div><h1>自定義內容</h1><h4>和Dialog組件一樣, Drawer同樣可以在其內部嵌套各種豐富的操作。</h4><el-button type="text" @click="table = true">打開嵌套表格的 Drawer</el-button><el-button type="text" @click="dialog = true">打開嵌套 Form 的 Drawer</el-button><el-drawer title="我嵌套了表格!" :visible.sync="table" direction="rtl" size="50%"><el-table :data="gridData"><el-table-column property="date" label="日期" width="150"></el-table-column><el-table-column property="name" label="姓名" width="200"></el-table-column><el-table-column property="address" label="地址"></el-table-column></el-table></el-drawer><el-drawer title="我嵌套了 Form !" :before-close="handleClose" :visible.sync="dialog" direction="rtl" custom-class="demo-drawer" ref="drawer"><div class="demo-drawer__content"><el-form :model="form"><el-form-item label="活動名稱" :label-width="formLabelWidth"><el-input v-model="form.name" autocomplete="off"></el-input></el-form-item><el-form-item label="活動區域" :label-width="formLabelWidth"><el-select v-model="form.region" placeholder="請選擇活動區域"><el-option label="區域一" value="shanghai"></el-option><el-option label="區域二" value="beijing"></el-option></el-select></el-form-item></el-form><div class="demo-drawer__footer"><el-button @click="cancelForm">取 消</el-button><el-button type="primary" @click="$refs.drawer.closeDrawer()" :loading="loading">{{ loading ? '提交中 ...' : '確 定' }}</el-button></div></div></el-drawer></div> </template><script> export default {data () {return {table: false,dialog: false,loading: false,gridData: [{date: '2016-05-02',name: '王小虎',address: '上海市普陀區金沙江路 1518 弄'}, {date: '2016-05-04',name: '王小虎',address: '上海市普陀區金沙江路 1518 弄'}, {date: '2016-05-01',name: '王小虎',address: '上海市普陀區金沙江路 1518 弄'}, {date: '2016-05-03',name: '王小虎',address: '上海市普陀區金沙江路 1518 弄'}],form: {name: '',region: '',date1: '',date2: '',delivery: false,type: [],resource: '',desc: ''},formLabelWidth: '80px',timer: null}},methods: {handleClose (done) {if (this.loading) {return}this.$confirm('確定要提交表單嗎?').then(_ => {this.loading = truethis.timer = setTimeout(() => {done()// 動畫關閉需要一定的時間setTimeout(() => {this.loading = false}, 400)}, 2000)}).catch(_ => {})},cancelForm () {this.loading = falsethis.dialog = falseclearTimeout(this.timer)}} } </script>

2.6. 在components下創建AppendDrawer.vue

<template><div><h1>多層嵌套</h1><h4>同樣, 如果你需要嵌套多層Drawer請一定要設置append-to-body屬性為true。</h4><el-button @click="drawer = true" type="primary" style="margin-left: 16px;">點我打開</el-button><el-drawer title="我是外面的 Drawer" :visible.sync="drawer" size="50%"><div><el-button @click="innerDrawer = true">打開里面的!</el-button><el-drawer title="我是里面的" :append-to-body="true" :before-close="handleClose" :visible.sync="innerDrawer"><p>我打...</p></el-drawer></div></el-drawer></div> </template><script> export default {data () {return {drawer: false,innerDrawer: false}},methods: {handleClose (done) {this.$confirm('還有未保存的工作哦確定關閉嗎?').then(_ => {done()}).catch(_ => {})}} } </script>

2.7. 運行項目, 訪問http://localhost:8080/#/Drawer

2.8. 運行項目, 訪問http://localhost:8080/#/NoneTitleDrawer?

2.9. 運行項目, 訪問http://localhost:8080/#/MyselfDrawer?

2.10. 運行項目, 訪問http://localhost:8080/#/AppendDrawer?

總結

以上是生活随笔為你收集整理的052_Drawer抽屉的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲视频在线一区二区 | 1769国产精品视频 | 国产精品久久久久免费 | 1000部拍拍拍18勿入免费视频 | 精品在线一区 | 毛片.com | 一区二区激情视频 | 黄色动漫软件 | 97精品久久| 午夜在线观看av | 一集毛片 | 亚洲熟女一区二区 | 日本免费黄色片 | 91精品国产高清 | 特黄大片又粗又大又暴 | 色综合天天综合网天天狠天天 | 看黄色的网址 | 日本wwwwww| 国产一级片自拍 | 亚洲AV无码精品一区二区三区 | 日韩在线播放av | 国产大屁股喷水视频在线观看 | 波多野结衣视频观看 | 正在播放adn156松下纱荣子 | 色窝窝综合色窝窝久久 | 欧美xxxx黑人又粗又长密月 | 日本h片在线观看 | 极品探花在线播放 | 激情网av | 好吊妞视频一区二区三区 | 久久久777 | 国产欧美日韩综合精品一区 | 欧美一区综合 | 放荡闺蜜高h季红豆h | 黄页嫩草 | 天天射天天射 | 久久综合国产 | a天堂资源在线 | 国产女主播喷水视频在线观看 | 国产丰满大乳奶水在线视频 | 2019中文在线观看 | 国产精品一区2区 | 久久夜色精品国产欧美乱 | 96毛片| 少妇荡乳情欲办公室456视频 | 激情开心网站 | 午夜国产 | 国产午夜久久久 | 成人福利在线播放 | 亚洲精品黄色 | 男女三级视频 | 女同亚洲精品一区二区三 | 亚洲黄色精品 | 日本xxxx18高清hd | 亚洲欧美另类视频 | 日韩国产在线一区 | 天天看天天摸天天操 | 国产精品久久久久久亚洲av | 国产又爽又黄又嫩又猛又粗 | 国产激情久久久久 | 五月天在线| 国产成人综合在线 | 午夜美女福利 | 波多野结衣啪啪 | 伊人久久中文 | 亚洲欧美日本一区 | 在线91av | 国产视频精品久久 | 色xxxxx| 欧美精品一区在线 | 成人国产精品久久 | a级无遮挡超级高清-在线观看 | 爱爱视频网 | 日韩欧美在线一区二区三区 | 日韩午夜在线观看 | av午夜在线 | 日本一区二区不卡视频 | 好吊色在线视频 | 悠悠色综合| 91精品免费视频 | 自拍啪啪 | 日本成人综合 | 中文字幕一区在线观看 | 一区二区三区四区五区在线视频 | 国产91精品久久久 | 中国老太婆性做爰 | 久久这里只有精品8 | 亚洲美女一区二区三区 | 精品一区二区三区在线视频 | 久久久久久久久久电影 | 国产良妇出轨视频在线观看 | 欧美日韩在线免费 | 久久九九精品视频 | 女大学生的家政保姆初体验 | 娇妻被老王脔到高潮失禁视频 | 日韩福利在线播放 | 黄色精品在线 | a级黄色网 | 欧美黑人狂野猛交老妇 |