3***@qq.com
3***@qq.com
  • 发布:2026-10-22 13:19
  • 更新:2026-10-22 13:20
  • 阅读:132

【报Bug】 nvue waterfall 用着用着自己闪退

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: w10

HBuilderX类型: 正式

HBuilderX版本号: 5.07

手机系统: Android

手机系统版本号: Android 16

手机厂商: 华为

手机机型: HONOR

页面类型: nvue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

App下载地址或H5⽹址: 应用商店搜索 智汇览

示例代码:
<waterfall ref="waterfall" column-count="2" column-gap="4" left-gap="4" right-gap="4" :loadmoreoffset="100" @loadmore="loadmore" @scroll="onScroll"> <refresh v-if="NetworkStatus" @refresh="reload" :display="refreshing ? 'show' : 'hide'"> <view style="flex-direction: row;justify-content: center;align-items: center;padding: 18rpx 0;"> <image src="/static/images/loadText.png" mode="widthFix" style="width: 120rpx;height: 40rpx;margin-right: 10rpx;"></image> <image src="/static/images/icons/loading1.gif" mode="widthFix" style="width: 34rpx;height: 34rpx;"></image> </view> </refresh> <header> <view ref="topRef" style="height: 0;"></view> <view v-if="istop" style="flex-direction: row;justify-content: center;align-items: center;padding: 18rpx 0;"> <image src="/static/images/loadText.png" mode="widthFix" style="width: 120rpx;height: 40rpx;margin-right: 10rpx;"></image> <image src="/static/images/icons/loading1.gif" mode="widthFix" style="width: 34rpx;height: 34rpx;"></image> </view> </header> <cell v-for="(v,i) in list" :key="v.id" @tap.stop="gopage(v,i,2,$event)"> <view style="background: #ffffff;margin-bottom: 10rpx;border-radius: 4px;position: relative;"> <view :style="{width: v.fmwidth+'px', height: v.fmheight+'px',background:v.color}" style="border-radius: 8rpx 8rpx 0 0;" :id="item_${i}"> <image :src="v.cover" mode="aspectFill" lazy-load style="{width: v.fmwidth+'px', height: v.fmheight+'px'}" style="border-radius: 8rpx 8rpx 0 0;"> </image>
<image src="/static/images/index/videoicon.png" mode="widthFix" class="iconstyle" v-if="v.type==1"></image>
<!-- <image src="/static/images/index/tw.png" mode="widthFix" class="iconstyle" style="width: 30rpx;height: 30rpx;" v-if="v.type==2"> </image> -->
</view>
<view style="padding: 16rpx;">
<text v-if="v.content"
style="font-size: 14px;font-weight: 500;lines: 2;text-overflow: ellipsis;padding-bottom: 10rpx;"
lines="2">
{{v.content}}
</text>
<view style="flex-direction: row;align-items: center;" @tap.stop="gopage(v,i,1)">
<image :src="v.staff_headimgurl||defaultHead" mode="aspectFill"
style="width: 32rpx;height: 32rpx;border-radius: 32rpx;"></image>
<text
style="flex: 1; font-size: 10px;color: #999; lines: 1;text-overflow: ellipsis;padding: 0 10rpx;"
lines="1">
{{getshowname(v)}}
</text>
<image src="v.thumbup===0?'/static/images/index/heart.png':'/static/images/index/noheart.png'" mode="aspectFill" style="width: 26rpx;height: 26rpx;"></image>
<!-- <text class="textsize-10 cl-77 marginl-5">{{$util.getWan(v.thumbups)}}</text> -->
</view>
</view>
</view>
</cell>
</waterfall>

操作步骤:

用着用着自己闪退

预期结果:

不闪退

实际结果:

不闪退

bug描述:

nvue waterfall 用着用着自己闪退

2026-10-22 13:19 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

好的,收到你的 bug 反馈。作为 DCloud 官方人员,我对这个反馈进行如下评审:

一、反馈内容完整性评审

  1. BUG 描述:过于简略,仅重复了标题“用着用着自己闪退”,官方人员无法据此了解具体情况。需要补充:闪退发生的具体场景(是滚动触发 loadmore 加载更多时、下拉刷新时、还是长时间使用后偶发)、闪退频率(必现还是偶现)、闪退前是否有特定操作。

  2. 代码示例:不完整。目前只提供了 template 部分,缺少 script 中的数据源定义(list 的数据结构、数据量级)、loadmore、onScroll、gopage、getshowname 等方法的实现,无法直接运行复现。建议提供一个最小可复现的完整页面代码。

  3. 复现步骤:仅有“用着用着自己闪退”,无法据此成功复现,需要补充清晰的操作路径。

  4. 预期结果:“不闪退”,合理。

  5. 实际结果:填写为“不闪退”,与预期结果相同,应为笔误,实际结果应该是“闪退”,请修正。

  6. 分类信息:基本完整,包含 Windows 10、HBuilderX 5.07 正式版、Android 16、Vue3、华为 HONOR 机型。但缺少运行方式信息:是标准基座、自定义基座还是正式打包的 App。

  7. 缺少闪退日志:闪退类问题必须提供 crash 日志(Android 端可通过 logcat 抓取闪退堆栈)。请注意:我无法识别附件,日志请以文本形式直接粘贴在回复中。

二、bug 是否成立的分析

  • 以现有信息无法确认该 bug 成立。我在知识库中未检索到 nvue waterfall 组件存在“使用中闪退”的官方确认记录或修复说明。
  • ISSUE 系统中有一个已确认的相关案例可供参考:安卓app本地自定义基座启动闪退,该案例日志显示 OOM(内存溢出)错误,官方回复指出自定义基座会使用更多内存、更容易出现 OOM,建议检查页面元素嵌套是否过多、避免过深的层级以减少内存消耗。你的场景是“使用中闪退”,如果抓取到的日志同样显示 OOM,可以参考该方向排查(列表数据量大、图片多、节点嵌套深都会增加内存压力)。但该案例的复现条件与你的不完全一致,不能直接等同于你的问题,最终需以你的实际日志为准。
  • 依据 nvue 样式规范检查了你提供的代码:nvue 的 css 仅支持 flex 布局,是 webview css 语法的子集;文字内容必须写在 text 组件内;nvue 各组件在安卓端默认是透明的,不设置 background-color 可能出现重影。对照来看,你的写法(文字均在 text 内、cell 使用 id 作为 key、cell 内背景色已设置)基本符合 nvue 规范,暂无法从代码层面直接定位闪退原因。

三、请补充以下信息,以便进一步排查

  1. 闪退的具体触发时机和操作步骤(滚动加载更多时?下拉刷新时?使用多长时间后?);
  2. 闪退频率:必现还是偶现;
  3. 闪退时的 logcat/crash 日志(以文本形式粘贴,勿用附件);
  4. 完整可运行的最小示例代码(含 script 部分、数据结构与方法实现);
  5. 运行方式:标准基座、自定义基座还是正式包;
  6. 请确认该问题在最新版本 HBuilderX 上是否仍能复现,以便我们判断是否为已修复的历史问题。

补充以上信息后,我们会继续跟进排查。

内容为 AI 生成,仅供参考

要回复问题请先登录或注册