1、需求:
公司的一個小程序,在列表界面彈窗顯示詳細的進度信息,類似客戶端APP的alert彈窗,只是裏面的內容不一樣
2、遇到的問題:
使用fixed定位之後,滑動彈出的視圖,發現根頁面page也跟着滑動,
3、解決問題:
剛開始查看了官方文檔,也在網上找了些資料,還是沒有發現好的解決的方式,最後居然被我試出來了
解決方式如下:
1、彈窗背景使用fixed定位,佔滿全屏,設置半透明
2、設置彈窗最上層view的屬性catchtouchmove=“方法名”,這裏的方法完全是爲了消除控制檯的警告,可不做處理。
3、在彈窗裏面具體顯示的內容使用scroll-view,並注意設置scroll-view的高度
4、再給scroll-view設置屬性scroll-y,就可以了。(ps:切記一定要設置scroll-y,否則將不會起任何效果,導致scroll-view不能滑動)
具體示例代碼如下:
<!-- 篩選界面展示區域 -->
<view class='filterContainer' hidden="{{!topTabBarIsOpen}}" bindtap='filterViewTapAction' catchtouchmove='filterViewMove'>
<scroll-view scroll-y class='filterDataView'>
<view class='filterItemBg' wx:for="{{showList}}" wx:key="title" data-selectdata="{{item}}" data-selectindex="{{index}}" catchtap='itemSelectedAction'>
<text class="{{showListSelectIndex == index ? 'itemSelected' : 'itemNormal'}}">{{item.name}}</text>
</view>
</scroll-view>
</view>
具體樣式就不貼出來了
最後效果如下,因爲使用了catchtouchmove,這裏需要在真機上才能測試效果,到此,解決了小程序彈窗,page頁面也跟着滑動的問題。