W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
可滾動視圖區(qū)域。scroll-view 滾動條無法隱藏,可以全局禁用滾動,但是無法禁用 scroll-view 中的滾動距離展示。
說明:
// API-DEMO page/component/scroll-view.json
{
"defaultTitle": "Scroll View"
}
<!-- API-DEMO page/component/scroll-view.axml -->
<view class="page">
<view class="page-description">可滾動視圖區(qū)域</view>
<view class="page-section">
<view class="page-section-title">vertical scroll</view>
<view class="page-section-demo">
<scroll-view scroll-y="{{true}}" style="height: 200px;" onScrollToUpper="upper" onScrollToLower="lower" onScroll="scroll" scroll-into-view="{{toView}}" scroll-top="{{scrollTop}}">
<view id="blue" class="scroll-view-item bc_blue"></view>
<view id="red" class="scroll-view-item bc_red"></view>
<view id="yellow" class="scroll-view-item bc_yellow"></view>
<view id="green" class="scroll-view-item bc_green"></view>
</scroll-view>
</view>
<view class="page-section-btns">
<view onTap="tap">next</view>
<view onTap="tapMove">move</view>
<view onTap="scrollToTop">scrollToTop</view>
</view>
</view>
<view class="page-section">
<view class="page-section-title">horizontal scroll</view>
<view class="page-section-demo">
<scroll-view class="scroll-view_H" scroll-x="{{true}}" style="width: 100%" >
<view id="blue2" class="scroll-view-item_H bc_blue"></view>
<view id="red2" class="scroll-view-item_H bc_red"></view>
<view id="yellow2" class="scroll-view-item_H bc_yellow"></view>
<view id="green2" class="scroll-view-item_H bc_green"></view>
</scroll-view>
</view>
</view>
</view>
// API-DEMO page/component/scroll-view.js
const order = ['blue', 'red', 'green', 'yellow'];
Page({
data: {
toView: 'red',
scrollTop: 100,
},
upper(e) {
console.log(e);
},
lower(e) {
console.log(e);
},
scroll(e) {
this.setData({
scrollTop: e.detail.scrollTop,
});
},
scrollEnd() {
},
scrollToTop(e) {
console.log(e);
this.setData({
scrollTop: 0,
});
},
tap(e) {
for (let i = 0; i < order.length; ++i) {
if (order[i] === this.data.toView) {
const next = (i + 1) % order.length;
this.setData({
toView: order[next],
scrollTop: next * 200,
});
break;
}
}
},
tapMove() {
this.setData({
scrollTop: this.data.scrollTop + 10,
});
},
});
/* API-DEMO page/component/swiper-view.acss */
.scroll-view_H {
white-space: nowrap;
display:flex;
}
.scroll-view-item {
height: 200px;
}
.scroll-view-item_H {
flex-shrink:0;
flex-grow:0;
width: 300px;
height: 200px;
}
屬性 | 類型 | 默認值 | 描述 | 最低版本 |
---|---|---|---|---|
class | String | - | 外部樣式名。 | - |
style | String | - | 內聯(lián)樣式名。 | - |
scroll-x | Boolean | false | 允許橫向滾動。 | - |
scroll-y | Boolean | false | 允許縱向滾動。 | - |
upper-threshold | Number | 50 | 距頂部/左邊多遠時(單位px),觸發(fā) scrolltoupper 事件。 | - |
lower-threshold | Number | 50 | 距底部/右邊多遠時(單位px),觸發(fā) scrolltolower 事件。 | - |
scroll-top | Number | - | 設置豎向滾動條位置。 | - |
scroll-left | Number | - | 設置橫向滾動條位置。 | - |
scroll-into-view | String | - | 值應為某子元素 id,則滾動到該元素,元素頂部對齊滾動區(qū)域頂部。 | - |
scroll-with-animation | Boolean | false | 在設置滾動條位置時使用動畫過渡。 | - |
scroll-animation-duration | Number | - | 當 scroll-with-animation 設置為 true 時,可以設置 scroll-animation-duration 來控制動畫的執(zhí)行時間,單位 ms。 |
1.9.0 |
enable-back-to-top | Boolean | false | 當點擊 iOS 頂部狀態(tài)欄或者雙擊安卓標題欄時,滾動條返回頂部,只支持豎向。 | 1.11.0 |
trap-scroll | Boolean | false | 縱向滾動時,當滾動到頂部或底部時,強制禁止觸發(fā)頁面滾動,仍然只觸發(fā) scroll-view 自身的滾動。 | 1.11.2 |
onScrollToUpper | EventHandle | - | 滾動到頂部/左邊,會觸發(fā) scrolltoupper 事件。 | - |
onScrollToLower | EventHandle | - | 滾動到底部/右邊,會觸發(fā) scrolltolower 事件。 | - |
onScroll | EventHandle | - | 滾動時觸發(fā), event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth} 。 |
- |
onTouchStart | EventHandle | - | 觸摸動作開始。 | 1.15.0 |
onTouchMove | EventHandle | - | 觸摸后移動。 | 1.15.0 |
onTouchEnd | EventHandle | - | 觸摸動作結束。 | 1.15.0 |
onTouchCancel | EventHandle | - | 觸摸動作被打斷,如來電提醒、彈窗。 | 1.15.0 |
popup 組件上加上 disableScroll={{false}} 屬性才能滑動
swiper 和 scroll-view 均為滑動組件,如果必須使用,建議不做嵌套或者讓 scroll-view 阻止 touch 事件冒泡即可:catchTouchStart、catchTouchMove。
可以直接在 onScroll 方法中進行處理,使用 onScrollToLower 監(jiān)聽 scroll-view 的滾動高度來進行判斷是否滑動到了底部。 scrollheight 是 scroll-view 里面所有 view 的高度和,scrollTop 是滾動的值; scrolltop 的值等于 scrollheight-scrollview 視圖的高度。
在外層 scroll-view 添加屬性 trap-scroll。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: