MDUI 中的抽屉式导航栏(后面简称抽屉栏)可以从页面左侧或右侧滑出,一个页面可以拥有多个抽屉栏。
抽屉栏在手机、平板、桌面设备上的表现有些不同,你可以通过改变浏览器宽度来观察本页面左侧的抽屉栏的变化:
.mdui-drawer-full-height
可以使抽屉栏高度为 100%,这时抽屉栏可能会覆盖在应用栏上方,可以在应用栏上添加类 .mdui-appbar-inset
使应用栏不被抽屉栏覆盖。 .mdui-color-[color]
可以设置抽屉栏的背景色,并添加阴影。 .mdui-drawer-open
可以使抽屉栏在所有设备上都默认显示;添加类 .mdui-drawer-close
可以使抽屉栏在所有设备上都默认隐藏。 overlay
参数为 true
,可以在打开抽屉栏时显示遮罩层。如果设置为显示遮罩层,那么应该添加 .mdui-drawer-close
类使抽屉栏默认处于隐藏状态。 mdui.mutation()
进行初始化) <!-- mdui-drawer-body-left 类为 body 添加 padding-left,只要左侧有默认打开的抽屉栏,就要添加这个类。 -->
<!-- mdui-drawer-body-right 类为 body 添加 padding-right,只要右侧有默认打开的抽屉栏,就要添加这个类。 -->
<body class="mdui-drawer-body-left mdui-drawer-body-right">
<!-- 默认抽屉栏在左侧 -->
<div class="mdui-drawer">
... drawer content ...
</div>
<!-- 如果要使抽屉栏在右侧,需要添加类 mdui-drawer-right -->
<div class="mdui-drawer mdui-drawer-right">
... drawer content ...
</div>
</body>
使用该方式无需编写 JavaScript 代码。只需在一个起控制作用的元素(例如:按钮)上添加 mdui-drawer="options"
属性即可。通过自定义属性调用时,需要额外添加一个 target
参数,用于指定被控制的抽屉栏,它的值为被控制的抽屉栏的 CSS 选择器。
<body class="mdui-drawer-body-right">
<button class="mdui-btn" mdui-drawer="{target: '#left-drawer'}">open left drawer</button>
<div class="mdui-drawer" id="left-drawer">
... left drawer content ...
<button class="mdui-btn" mdui-drawer-close>close</button>
</div>
</body>
在抽屉栏内的元素上可以添加一些属性来绑定事件,这些属性在使用 JavaScript 调用方式时也可以使用。
属性 | 说明 |
---|---|
mdui-drawer-close | 点击该元素会触发 close.mdui.drawer 事件,并关闭抽屉栏。 |
// selector 为抽屉栏的 CSS 选择器或 DOM 元素
// options 为配置参数,见下面的参数列表
var inst = new mdui.Drawer(selector, options);
参数名 | 类型 | 默认值 | 描述 |
---|---|---|---|
overlay | boolean | false | 打开抽屉栏时是否显示遮罩层。该参数只对中等屏幕及以上的设备有效,在超小屏和小屏设备上始终会显示遮罩层。 |
swipe | boolean | false | 是否启用滑动手势。 |
方法名 | 描述 |
---|---|
open | 显示抽屉栏。 |
close | 隐藏抽屉栏。 |
toggle | 切换抽屉栏的显示状态。 |
getState | 返回当前抽屉栏的状态。共包含四种状态(opening 、opened 、closing 、closed )。 |