引入
{"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 | 滚动到底部触发 | |
