更新记录
1.0.1(2024-06-19) 下载此版本
更新使用说明文挡
1.0.0(2024-06-19) 下载此版本
新增
平台兼容性
uni-app
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 | 
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | - | - | - | - | - | 
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 | 
|---|---|---|---|---|---|---|---|---|---|---|
| √ | - | - | - | - | - | - | √ | - | - | - | 
hbxw-scrollview组件
介绍
方了更方便使用scrollView实现局部滚动器,基于scrolView封装的局部滚动器 默认的scrollView如果要做竖向滚动需要指定高度,hbxw-scrollview只要按指定方式使用,内部会自动设置为父容器的高度 横向滚动需要添加white-space: nowrap,hbxw-scrollview如果判断到当前是横向滚动会自动添加该样式
使用示例
推荐先直接复制示例代码到工程中看效果了解下使用方法再投入项目使用。
<template>
    <view class="conainer">
        <view class="header">头部</view>
        <text class="test-title">竖向滚动:</text>
        <view class="scroll-vertical">
            <hbxw-scrollview 
                scroll-y 
                style="display: flex;flex-direction: column;flex:1;"
                @scrolltolower="scrolltolowerVertical"
            >
                <view class="test-item">1</view>
                <view class="test-item">2</view>
                <view class="test-item">3</view>
                <view class="test-item">4</view>
                <view class="test-item">5</view>
                <view class="test-item">6</view>
                <view class="test-item">7</view>
                <view class="test-item">8</view>
            </hbxw-scrollview>
        </view>
        <text class="test-title">横向滚动:</text>
        <view class="scroll-transverse">
            <hbxw-scrollview 
                scroll-x 
                style="display: flex;flex-direction: column;flex:1;"
                @scrolltolower="scrolltolowerTransverse"
            >
                <view class="test-item-wrap">
                    <view class="test-item0">1</view>
                    <view class="test-item0">2</view>
                    <view class="test-item0">3</view>
                    <view class="test-item0">4</view>
                    <view class="test-item0">5</view>
                    <view class="test-item0">6</view>
                    <view class="test-item0">7</view>
                    <view class="test-item0">8</view>
                </view>
            </hbxw-scrollview>
        </view>
        <view class="footer">底部</view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            }
        },
        methods: {
            scrolltolowerVertical(e) {
                console.log('----  竖向滚动到底了  ----:', e);
            },
            scrolltolowerTransverse(e) {
                console.log('----  横向滚动到最右边了  ----:', e);
            }
        }
    }
</script>
<style>
    page{
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
</style>
<style lang="scss" scoped>
.conainer{
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.header{
    width:100%;
    height: 86rpx;
    text-align: center;
    font-size: 36rpx;
    color: white;
    background-color: red;
    flex: none;
}
.footer{
    width:100%;
    height: 68rpx;
    text-align: center;
    font-size: 36rpx;
    color: white;
    background-color: blue;
    flex: none;
}
.test-title{
    flex: none;
}
.test-item{
    width: 100%;
    height: 168rpx;
    margin-bottom: 20rpx;
    text-align: center;
    line-height: 168rpx;
    color: white;
    background-color: green;
}
.test-item-wrap{
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: 140%;
    height: 100%;
    .test-item0{
        flex: 1;
        height: 168rpx;
        margin-right: 20rpx;
        text-align: center;
        line-height: 168rpx;
        color: white;
        background-color: green;
    }
}
.scroll-vertical{
    display: flex;
    flex:1;
}
.scroll-transverse{
    flex:1;
    display: flex;
}
</style>
注:组件在使用中请添加style="display: flex;flex-direction: column;flex:1;" 使用技巧:此示例是在弹性盒模型中使用,scrollView父组是一个flex元素,在弹性盒模型中会自动适应高度,scrollView会在mounted生命钩子中获取父级元素的高度用于自身的高度
API
Props
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 
|---|---|---|---|---|
| scrollX | Boolean | false | 是 | 允许横向滚动 | 
| scrollY | Boolean | false | 是 | 允许纵向滚动 | 
| upperThreshold | Number/String | 50 | 否 | 距顶部/左边多远时(单位px),触发 scrolltoupper 事件 | 
| lowerThreshold | Number/String | 50 | 否 | 距底部/右边多远时(单位px),触发 scrolltolower 事件 | 
| scrollIntoView | String | undefined | 否 | 值应为某子元素id(id不能以数字开头)。设置哪个方向可滚动,则在哪个方向滚动到该元素 | 
| scrollTop | String | undefined | 否 | 设置竖向滚动条位置 | 
| scrollLeft | String | undefined | 否 | 设置横向滚动条位置 | 
Events
| 事件名 | 说明 | 返回值 | 
|---|---|---|
| scrolltolower | 滚动到底/右触发的事件 | 事件对象event | 
| scrolltoupper | 滚动到顶/左触发的事件 | 事件对象event | 
| scroll | 滚动时触发的事件 | 事件对象event event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY} | 
注:暴露了scrollView使用率高的参数和方法,详见官方文挡:scrollView

                                                                    
                                                                        收藏人数:
                                    
                                                        下载插件并导入HBuilderX
                                                    
                                        赞赏(0)
                                    
                                            
                                            
 下载 9263
                
 赞赏 1
                
            
                    下载 10693743 
                
                        赞赏 1797 
                    
            
            
            
            
            
            
            
            
            
            
            
            
            
            
                        
                                赞赏
                            
            
京公网安备:11010802035340号