漂浮层 Overlay

示例

基本形式

<overlay>
    <overlay.head><a class="u-btn">head</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

触发事件

<overlay trigger="click">
    <overlay.head><a class="u-btn">click (Default)</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay trigger="dblclick">
    <overlay.head><a class="u-btn">dblclick</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay trigger="hover">
    <overlay.head><a class="u-btn">hover</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

展开方向

<overlay direction="top-left">
    <overlay.head><a class="u-btn">top-left</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="top-center">
    <overlay.head><a class="u-btn">top-center</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="top-right">
    <overlay.head><a class="u-btn">top-right</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="bottom-left">
    <overlay.head><a class="u-btn">bottom-left (Default)</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="bottom-center">
    <overlay.head><a class="u-btn">bottom-center</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="bottom-right">
    <overlay.head><a class="u-btn">bottom-right</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<p></p>
<overlay direction="left-top">
    <overlay.head><a class="u-btn">left-top</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="left-center">
    <overlay.head><a class="u-btn">left-center</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="left-bottom">
    <overlay.head><a class="u-btn">left-bottom</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="right-top">
    <overlay.head><a class="u-btn">right-top</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="right-center">
    <overlay.head><a class="u-btn">right-center</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>
<overlay direction="right-bottom">
    <overlay.head><a class="u-btn">right-bottom</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

禁用

<overlay disabled>
    <overlay.head><a class="u-btn z-dis">disabled</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

数据绑定

<overlay open={open}>
    <overlay.head><a class="u-btn u-btn-info" z-act={open}>{open ? '展开' : '收起'}</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

事件

请打开浏览器的控制台查看结果。

<overlay
    on-toggle={console.log('on-toggle:', '$event.open:', $event.open)}
    on-change={console.log('on-change:', '$event.open:', $event.open)}>
    <overlay.head><a class="u-btn u-btn-primary">head</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

案例

使用样式来处理hover

<overlay class="u-overlay-hover">
    <overlay.head><a class="u-btn u-btn-warning">hover</a></overlay.head>
    <overlay.body><textarea class="u-textarea">body</textarea></overlay.body>
</overlay>

API

Class

Overlay

继承自

Options

new Overlay()

参数类型默认值数据流向描述
dataObject绑定属性
data.openbooleanfalseoutside <=> inside当前为展开/收起状态
data.triggerstring'click'outside => inside触发方式。支持3种方式:`click`, `dblclick`, `hover`,默认为`click`。空表示不自动触发。
data.directionstring'bottom-left'outside => inside展开方向。有12种方向:`top-left`, `top-center`, `top-right`, `bottom-left`, `bottom-center`, `bottom-right`, `left-top`, `left-center`, `left-bottom`, `right-top`, `right-center`, `right-bottom`,默认为`bottom-left`。
data.readonlybooleanfalseoutside => inside是否只读
data.disabledbooleanfalseoutside => inside是否禁用
data.visiblebooleantrueoutside => inside是否显示
data.classstring''outside => inside补充class

Methods

overlay.toggle(open)

展开/收起

参数类型默认值描述
openboolean展开/收起状态。如果无此参数,则在两种状态之间切换。
返回值类型描述
无返回值

Events

overlay.$on('change')

展开/收起状态改变时触发

属性类型描述
senderobject事件发送对象
openboolean改变后的状态
triggerstring触发方式
directionstring展开方向

overlay.$on('toggle')

展开/收起时触发

属性类型描述
senderobject事件发送对象
openboolean展开/收起状态
triggerstring触发方式
directionstring展开方向