引入
{
"usingComponents": {
"x-nav-bar":"../assembly/nav-bar/nav-bar",
"x-scroll":"../assembly/scroll/scroll"
},
"state": {
"list": [
{ "name": "name1" },
{ "name": "name2" },
{ "name": "name3" },
{ "name": "name4" },
{ "name": "name5" },
{ "name": "name6" },
{ "name": "name7" },
{ "name": "name8" },
{ "name": "name9" },
{ "name": "name10" }
]
}
}{
"usingComponents": {
"x-scroll":"waft-ui/assembly/scroll/scroll"
}
}
代码示例
<view class="wrapper">
<x-nav-bar showArrow="{{true}}" title="测试 scroll 组件"></x-nav-bar>
<view class="scroll-box">
<x-scroll onScroll="scroll">
<view>
<view a:for="{{list}}" class="item">{{item.name}}</view>
</view>
</x-scroll>
</view>
</view>
import {console, Page, Props, Target, Event, TouchEvent} from 'waft';
export class TestList extends Page {
constructor(props: Props) {
super(props);
}
scroll(e: Event): void {
console.log('==== scroll ===='+e.toString());
}
}
.wrapper {
background-color:#eeeeee;
height: 100vh;
display: flex;
justify-content: flex-start;
align-items: center;
}
.scroll-box{
width: 200rpx;
height:500rpx;
border:1rpx solid red
}
.item{
width: 200rpx;
height:100rpx;
border:1rpx solid green;
}
API
props | 参数 | 说明 | 类型 | 默认值 | | —- | —- | —- | —- | | scrollDirection | 滚动方向, 默认 y 纵向滚动, x 表示横向滚动 | string | y | | lowerThreshold | 距离底部多少触发 | number | 50 | | scrollTop | 设置滚动条位置(纵向滚动)
在didmount中动态更新 | number | 0 | | scrollLeft | 设置滚动条位置(横向滚动) | number | 0 | | showScrollbar | 是否展示滚动条 | boolean | false |Events | 事件名 | 说明 | 参数 | | —- | —- | —- | | onScroll | 滚动时触发 |
| | onScrollStart | 滚动开始时触发 | | | onScrollEnd | 滚动结束时触发 | | | onScrollToLower | 滚动到底部触发 | |