54 lines
1.7 KiB
Plaintext
54 lines
1.7 KiB
Plaintext
<!-- v2 玻璃弹层:居中玻璃卡 Modal / 底部动作表 ActionSheet / 深色玻璃胶囊 Toast -->
|
|
<view wx:if="{{visible}}" class="ov-root" catchtouchmove="noop">
|
|
<!-- 居中玻璃卡 -->
|
|
<block wx:if="{{type === 'modal'}}">
|
|
<view class="scrim"></view>
|
|
<view class="modal-wrap">
|
|
<view class="modal">
|
|
<view class="modal-body">
|
|
<view wx:if="{{title}}" class="modal-title">{{title}}</view>
|
|
<view wx:if="{{content}}" class="modal-text">{{content}}</view>
|
|
</view>
|
|
<view class="modal-acts">
|
|
<view
|
|
wx:for="{{buttons}}"
|
|
wx:key="index"
|
|
class="modal-act {{item.type === 'main' ? 'modal-act--main' : ''}}"
|
|
data-index="{{index}}"
|
|
hover-class="ov-press"
|
|
hover-stay-time="80"
|
|
bindtap="onBtn"
|
|
>{{item.text}}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</block>
|
|
|
|
<!-- 底部动作表 -->
|
|
<block wx:elif="{{type === 'actionsheet'}}">
|
|
<view class="scrim" bindtap="onCancel"></view>
|
|
<view class="as-wrap">
|
|
<view class="as-card">
|
|
<view wx:if="{{title}}" class="as-hd">{{title}}</view>
|
|
<view
|
|
wx:for="{{items}}"
|
|
wx:key="index"
|
|
class="as-item"
|
|
data-index="{{index}}"
|
|
hover-class="ov-press"
|
|
hover-stay-time="80"
|
|
bindtap="onItem"
|
|
>{{item.text || item}}</view>
|
|
</view>
|
|
<view class="as-cancel" bindtap="onCancel">{{cancelText}}</view>
|
|
</view>
|
|
</block>
|
|
|
|
<!-- 深色玻璃胶囊 -->
|
|
<block wx:else>
|
|
<view class="toast-wrap">
|
|
<view class="toast">{{content}}</view>
|
|
</view>
|
|
</block>
|
|
</view>
|