更新记录

1.0.1(2021-11-22)

调整说明文档,将以前解决方案放到源码中,并且保留了原方法源文件

1.0.0(2021-11-22)

  1. 对自适应滚动方案进行调整,解决了以前自适应方案导致的渲染延迟,无法动态自适应外围空间变化
  2. 对新的自适应方案进行了阐述,具体可看文档和源代码
  3. 应该是最后一次更新了

0.0.2(2021-11-22)

  1. 如果只是使用自适应滚动或使用scrollTop来滚动,则H5,APP和微信小程序都没问题
  2. 如果使用scroll-into-view滚动到指定位置,则只支持H5,APP,小程序无效,只能使用原生scroll-view,也不知道是谁的bug,等待官方修复吧
  3. 使用示例参考component/autoscroll.vue
查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue app-nvue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
×

wxy-scroll-view 介绍

基于插件市场area_scroll 自适应高度的区域滚动组件 增强改进而来,到此非常感谢原作者,提供了很好思路,非常适应开发聊天程序类

重要说明:

  1. 当前自适应方案缺陷:由于开始将滚动区域设置为0(height或width),然后再渲染后计算尺寸,明显感觉到延迟。而且外围空间变化时需要再重新计算,又要延迟
  2. 最佳自适应方案:解决问题模型仍然是滚动区域有个父容器,仍然是通过父容器来自适应外围空间,上面方案设置width和height为0是防止滚动区域撑大父容器。现在是父窗口相对定位,滚动区域绝对定位。由于绝对定位脱离文档流,同样不影响父容器。相比上面计算方案不存在延迟,而且能动态自适应外围空间
  3. 通过最佳自适应方案,我们不用这个封装组件也可以很容易实现自适应滚动区域,而且封装组件的scroll-into-view支持范围受限,而原生scroll-view则不存在任何问题,这个组件应该是最后一次更新了。

组件改进

  1. 增加横向自适应,优化了样式
  2. 为同步官方scroll-view组件,所以属性和事件都同名
  3. 增加了内容导致尺寸改变后会重新计算的功能
  4. 增加了微信小程序使用注意事项
  5. 修复了原组件参数文档错误,如showNav正确应该show-nav等

平台兼容性

目前测试过APP、微信小程序和H5,其它应该也支持,毕竟只使用基本组件。

参数说明

属性名 类型 默认值 说明
show-nav Boolean false 自动填充状态栏,用于自定义导航时填充系统导航栏房租覆盖
background String #fff 填充系统栏的颜色
show-load Boolean false false
list Array [] 用于计算的list数组
load-time Number 0 动画延时时长,单位是毫秒
事件称名 说明 返回值
scrolltolower 在官方基础上增加了自动控制页数和加载更多功能 event
其它原生事件 同官方 event

使用案例

<wxy-scroll-view scroll-y>
    <view class="msg-item" v-for="(item, index) of 100" :key="index">
        <image class="msg-item-img" src="../../static/icon/logo.png" mode="widthFix"></image>
        <view class="msg-item-content">
            <view class="msg-item-content-head">张三</view>
            <view class="msg-item-content-main">大家好啊</view>
        </view>
        <view class="msg-item-sign">
            <view class="msg-item-sign-time">10:15</view>
            <view class="msg-item-sign-badge"><uni-badge :text="index" type="error" size="small"></uni-badge></view>
        </view>
    </view>
</wxy-scroll-view>

具体可参考项目中演示,页面路径是pages/index/scroll.vue

主要演示了只使用区域滚动和使用顶栏+滚动+工具栏经典聊天布局,通过H5,APP和微信小程序测试,代码中注意事项也进行了说明

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问