33 lines
No EOL
1.8 KiB
Text
33 lines
No EOL
1.8 KiB
Text
<!--custom-tab-bar/index.wxml-->
|
||
<view class="tab-bar-glass tab-bar">
|
||
<view wx:for="{{list}}" wx:key="index"
|
||
class="tab-bar-item {{selected === index ? 'tab-active' : ''}} {{index === 2 ? 'camera-tab-item' : ''}}"
|
||
data-path="{{item.pagePath}}"
|
||
data-index="{{index}}"
|
||
bindtap="switchTab">
|
||
<!-- 拍照按钮(索引2)根据激活状态显示图标,其他按钮根据选中状态显示 -->
|
||
<image class="tab-bar-icon {{selected === index ? 'tab-icon-active' : ''}} {{index === 2 && cameraActive ? 'tab-icon-active camera-icon-large' : ''}} {{index === 2 && !cameraActive ? 'camera-icon-normal' : ''}}"
|
||
src="{{index === 2 ? (cameraActive ? item.selectedIconPath : item.iconPath) : (selected === index ? item.selectedIconPath : item.iconPath)}}"
|
||
mode="aspectFit" />
|
||
<!-- 所有按钮未选中/未激活时显示文字 -->
|
||
<text wx:if="{{index === 2 ? !cameraActive : selected !== index}}" class="tab-bar-text" style="color: {{selected === index ? selectedColor : color}};">{{item.text}}</text>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 拍照功能弹窗 -->
|
||
<view class="camera-action-sheet {{showCameraAction ? 'show' : ''}}">
|
||
<view class="action-sheet-mask" bindtap="hideCameraActionSheet"></view>
|
||
<view class="action-sheet-content">
|
||
<view class="action-sheet-item primary" bindtap="takePhoto">
|
||
<text class="action-text">拍照</text>
|
||
</view>
|
||
<view class="action-sheet-divider-thin"></view>
|
||
<view class="action-sheet-item primary" bindtap="chooseImage">
|
||
<text class="action-text">从相册选择</text>
|
||
</view>
|
||
<view class="action-sheet-divider"></view>
|
||
<view class="action-sheet-item cancel" bindtap="hideCameraActionSheet">
|
||
<text class="action-text">取消</text>
|
||
</view>
|
||
</view>
|
||
</view> |